【发布时间】:2011-07-06 20:17:22
【问题描述】:
我刚刚将我的应用程序移植到了 mvc3,并且我使用 jquery 表单插件有很多视图。 我想使用 MVC3 提供的不显眼的 jquery 验证,但我不想使用 Ajax.BeginForm 或 Html.BeginForm。有没有办法单独呈现 html5 标签?
【问题讨论】:
标签: jquery asp.net-mvc-3 unobtrusive-javascript
我刚刚将我的应用程序移植到了 mvc3,并且我使用 jquery 表单插件有很多视图。 我想使用 MVC3 提供的不显眼的 jquery 验证,但我不想使用 Ajax.BeginForm 或 Html.BeginForm。有没有办法单独呈现 html5 标签?
【问题讨论】:
标签: jquery asp.net-mvc-3 unobtrusive-javascript
好吧,通过对源代码的快速搜索......你不能不花点时间。至少不是从服务器端。
据我了解,不显眼的验证在使用帮助程序时使用为每个输入呈现的 Data-* 属性,并且仅当 ViewContext 中存在 FormContext 时。
您可以自己在 ViewContext 中创建一个 FormContext(如果您使用 EditorFor),它可能工作。 This.ViewContext.FormContext = new FormContext() 可能会起作用。
作为替代方案,您可以调用 @Html.GetUnobtrusiveValidationAttributes() 并自己做,但我认为使用 @Html.BeginForm() 和 Html.EditorFor() 进行这种重构会更容易。
基本上,它比它的价值更麻烦,至少在服务器端。特别是如果您已经运行了验证。
也许查看不显眼的 JS 的实际来源是一个更好的选择,但这超出了我的范围。也许其他人可以提供更多帮助......
【讨论】: