2011-09-29 42 views
1

我明白与内置的功能来呈现像ASP.NET MVC3不引人注目的验证和手工编码的元素问

@Html.TextBoxFor(model => model.CustomerId) 
@Html.ValidationMessageFor(model => model.CustomerId) 

UI控件呈现的HTML看起来像

<input data-val="true" data-val-number="The field CustomerId must be a number." data-val-required="The CustomerId field is required." id="CustomerId" name="CustomerId" type="text" value="" /> 
<span class="field-validation-valid" data-valmsg-for="CustomerId" data-valmsg-replace="true"></span> 

内输入所有属性元素用于支持不显眼的验证功能。

但由于某些原因,我无法使用HTML辅助渲染,但我必须把代码的HTML标记像

<select id="MyId" name="MyId" /> 
<%=Html.ValidationMessageFor(model => model.MyId)%> 

在这种情况下,我怎么还让不显眼的验证字没有硬编码的所有这些属性选择元素?

感谢

哈迪

+0

为什么不用Html帮手来解决渲染而不是手动编码?你有什么问题。 –

+0

有时我需要通过jQuery实时呈现一些控件,但该动态控件的用户输入绑定到我的模型的一个字段,我需要验证。 – hardywang

回答

0

不显眼的验证完全依赖于这个属性来确定哪些验证它将应用到元素,你必须硬编码它们在你的HTML是你不想使用助手,只要确保选择标签的名称属性等于它所绑定的属性名称即可。

+0

我知道这些属性支持不显眼验证的重要性。我只是好奇任何人试图通过查询服务器端动态添加属性? – hardywang