6
我正在尋求擴充「Html.TextBoxFor」擴展以滿足某些特定的客戶端需求。MVC5 HTMLHelper擴展不會返回預期的內容
作爲一個全面的檢查,我上手簡單,只是創建了一個測試擴展方法,這將直接委託給現有的功能:
public static class HtmlExtensions
{
public static MvcHtmlString Test<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression)
{
return htmlHelper.TextBoxFor(expression);
}
}
一切似乎工作,直到我想這對標記了一個模型註解,即:
public class TestRoot
{
[Display(Name = "Max Length 10")]
[Required]
[StringLength(10)]
public string MaxLength10 { get; set; }
}
當我調用內置TextBoxFor功能,我得到的所有預期的加價,即:
@ Html.TextBoxFor(E => e.MaxLength10)
<input data-val="true" data-val-length="The field Max Length 10 must be a string with a maximum length of 10." data-val-length-max="10" data-val-required="The Max Length 10 field is required." id="MaxLength10" name="MaxLength10" type="text" value="">
當我打電話給我的分機,我預料的一樣的內容,而是我得到這個:
@ Html.Test(E => e.MaxLength10)
<input id="MaxLength10" name="MaxLength10" type="text" value="">
發生了什麼事的所有漂亮的數據標註標籤?