【问题标题】:Binding JQuery event after failed asp.net validationasp.net 验证失败后绑定 JQuery 事件
【发布时间】:2011-12-09 11:36:50
【问题描述】:

asp.net 验证失败后页面跳转有问题。我可以恢复滚动状态,但要做到这一点,我需要在客户端 asp.net 验证器验证失败后绑定一个事件。我试图按如下方式挂钩事件

$('input[type=submit],input[type=image],:button').bind('click', function (e) {
     //.. restore scroll state
)};

$('form').bind('submit', function (e) {
     //.. restore scroll state
});

这些在验证失败和页面跳转之前触发

我已经查看了挂钩到 javaScript API for the validators,但这些挂钩似乎都不起作用。

我已经查看了这个SO Answer,但我不想手动触发验证器,因为这会导致其他问题。

该解决方案需要挂钩到构建系统的每个页面,因此删除 asp.net 验证器并放入 JQuery validation plugin 的选项是不现实的。

验证失败后如何连接到客户端事件的任何想法(以一种可以放入母版页并全局应用的方式)。

非常感谢

【问题讨论】:

    标签: jquery asp.net validation


    【解决方案1】:

    您是否尝试过改用 jquery-library 的 live() 函数?我对asp验证的了解相当有限。但是 live 让我们在将要创建的对象上设置绑定。它将在 1.7 中弃用并由 on() 取代。

    【讨论】:

    • 感谢您的回答。不幸的是,尝试过并不起作用。绑定工作正常 - 事件已连接到元素。这是导致问题的事件的顺序
    【解决方案2】:

    搁置一段时间后 - 我认为这将发生的唯一方法就是

    1. 删除 asp.net 验证器,并使用 JQuery/Javascript OR 以自定义方式进行验证

    2. 完全删除验证摘要,只在各个字段旁边显示验证失败通知,或者

    3. 也许考虑一些不愉快的事情,比如智能编辑,至少让 IE 运行

    我认为简而言之,永远不会有一种快速可插入的方式来做到这一点。大量重写可能是唯一的解决方案

    这就是说,如果有人知道不同,请发帖

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多