Asp.net Mvc3 在输入元素上添加了一些自定义属性,例如“data-val-required”以执行验证。我知道这背后的所有理论,以及它是如何运作的。
我想知道的是:
当我在“@using (Html.BeginForm())”中创建表单时,它会生成自定义属性,但当我将表单放在普通“之间时,它不会创建这些属性”<form>
" tag.
下面是我创建的一个演示,用于演示我所说的内容
Razor 代码,BefingForm() 内的表单
@using (Html.BeginForm()) {
@Html.EditorFor(model => model.EmailAddress)
@Html.ValidationMessageFor(model => model.EmailAddress)
}
生成的 HTML包含“data-val-required”属性,如下所示
<input type="text" value="" data-val-required="The Email Address field is required." data-val-email="my message">
纯 Html 标签内的 Razor 代码表单
<form action="/Account/Register" method="post">
@Html.EditorFor(model => model.EmailAddress)
@Html.ValidationMessageFor(model => model.EmailAddress)
</form>
生成的 HTML不包含如下所示的“data-val-required”属性
<input type="text" value="" gtbfieldid="44">
我的问题是,即使表单放置在纯 html 标签中,我如何要求 MVC 添加这些属性