asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – jQuery Mobile和不显眼的验证大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个基于 jQuery Mobile (Alpha 3)ASP.NET MVC 3应用程序,利用MVC3提供的不引人注目的验证.当页面被直接访问(Url中没有哈希)时,验证工作是完美的.但是,当您导航到页面时,jQuery Mobile使用Ajax Navigation来动态加载它(在Url中显示哈希),并且验证停止工作.

以下是正在使用的代码示例:

模型:

[required(Errormessage = "Missing value")]
[DisplayName("Property Display Name")]
public int? PropertyName { get; set; }

查看(剃须刀):

@Html.LabelFor(model => model.PropertyName)
@Html.TextBoxFor(model => model.PropertyName)
@Html.ValidationmessageFor(model => model.PropertyName)

生成的HTML:

<label for="PropertyName">Property Display Name</label>
<input data-val="true" data-val-number="The field Property Display Name must be a number." data-val-required="Missing value" id="PropertyName" name="PropertyName" type="text" value="" />
<span class="field-validation-valid" data-valmsg-for="PropertyName" data-valmsg-replace="true"></span>

以前可能已经加载了其他页面,并且HTML元素不再具有唯一的ID.除了滚动我自己的Html Helper类以生成Label,TextBox和Validationmessage的HTML,是否有任何方法来处理这种情况?

解决方法

我在这个同样的问题上一直在努力,但是@Zote指出我正确的方向.

parse()是要走的路,但是确保通过选择器ie:

jQuery.validator.unobtrusive.parse("form")

要么

jQuery.validator.unobtrusive.parse(document)

挂钩的最好方法可能是通过JQMspageshow事件.这将在每次新的页面转换之后被触发,像这样,您也可以更喜欢在jqm在页面上完成它的魔力以及使用pagebeforeshow事件

$('div').live('pageshow',function(event){
  jQuery.validator.unobtrusive.parse(".ui-page-active form");
});

通过使用.ui-page-active,您可以将搜索缩小到当前活动页面.

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – jQuery Mobile和不显眼的验证全部内容,希望文章能够帮你解决asp.net-mvc – jQuery Mobile和不显眼的验证所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。