Я задавался вопросом, возможно ли создать пользовательского Помощника HTML со строгим контролем типов в ASP.NET MVC 2? При создании постоянного клиента (читает not-strongly-typed) помощник прост, но я испытываю затруднения при создании версий со строгим контролем типов. Например, я хотел бы создать помощника DatePickerFor html...
Любое руководство или отрывки значительно ценились бы, Заранее спасибо! Мировой судья
Хорошо, я разобрался (и это было довольно просто ...). Размещение одной из моих перегрузок на случай, если кто-то еще работает в этот вопрос.
public static string DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TProperty>> expression)
where TModel : class
{
var inputName = ExpressionHelper.GetExpressionText(expression);
return htmlHelper.DatePicker(inputName);
}
public static string DatePickerFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,Expression<Func<TModel, TProperty>> expression)
where TModel : class
{
ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);
return htmlHelper.DatePicker(metadata.PropertyName);
}
Я использовал ModelMetadata, это также будет работать, если вы создадите шаблон datetime для datepicker.