在没有Ajax.BeginForm的情况下在MVC3中使用不显眼的JQuery验证?

时间:2011-03-01 21:29:30

标签: jquery asp.net-mvc-3 unobtrusive-javascript

我刚将我的应用程序移植到mvc3,我使用jquery表单插件有很多视图。 我想使用MVC3提供的不显眼的jquery验证,但我不想使用Ajax.BeginForm或Html.BeginForm。有没有办法单独渲染html5标签?

1 个答案:

答案 0 :(得分:1)

好吧,从源头快速搜索...你不能没有黑客攻击一下。至少不是从服务器端。

根据我的理解,不显眼的验证使用在使用帮助程序时为每个输入呈现的Data- *属性,并且仅当ViewContext中存在FormContext时。

您可以自己在ViewContext中创建FormContext(如果您使用的是EditorFor),可能可以工作。 This.ViewContext.FormContext = new FormContex()可能有用。

作为替代方案,您可以调用@ Html.GetUnobtrusiveValidationAttributes()并自己完成,但我认为使用@ Html.BeginForm()和Html.EditorFor()进行这种重构更容易。

基本上,它比它的价值更麻烦,至少服务器方面。特别是如果你已经运行了验证。

也许查看不引人注目的JS的实际来源是一个更好的选择,但这超出了我的范围。也许其他人可以帮助更多...