Я создал расширение HTML Helper, которое вызывает частичный просмотр шаблона (MyView) в MVC.MVC - преобразовать IDictionary или RouteValueDictionary в объект htmlAttributes
Я передаю дополнительные атрибуты HTML в расширение HTML-помощника через параметр htmlAttributes объекта. В Helper Extension HTML в The htmlAttributes преобразуется в RouteValueCollection (можно использовать IDictionary здесь) и хранятся в объекте ModelProperty:
public static MvcHtmlString TextBoxFor(this HtmlHelper html, ModelProperty prop, object htmlAttributes)
{
prop.ControlHtmlAttributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
return PartialExtensions.Partial(html, "MyView", prop);
}
В частичном виде на 'MyView' Я хочу, чтобы сделать управление и переданным HTML атрибуты, так что я называю:
Html.TextArea(Model.ControlName, Model.Value, Model.ControlHtmlAttributes);
Howvever это dosnt работа, потому что третий параметр должен быть «объект htmlAttributes», как я конвертировать Model.ControlHtmlAttributes объекта htmlAttibutes?
У вас есть опечатка в вашем вызове 'Html.TextBox'. Вместо этого вы расширяете 'TextBoxFor'. –
Нет Я не использую TextBoxFor Я использую TextFor, который принимает следующие параметры. public static MvcHtmlString TextBox (этот HtmlHelper htmlHelper, имя строки, значение объекта, объект htmlAttributes) – gisWeeper
В вашем частичном представлении у вас есть TextArea, ваш html-помощник называется TextBoxFor, а в комментариях вы говорите, что используете TextFor? Пожалуйста, обратите больше внимания при вводе. – ataravati