当客户端ASP.NET验证器(RequiredFieldValidator
,RangeValidator
等)被触发时,是否有办法运行一些自定义Javascript?每当客户端ASP.NET验证器被触发时运行自定义JavaScript?
基本上,我有一个复杂的布局,需要我运行一个自定义脚本,无论何时显示或隐藏DOM元素。我正在寻找一种在验证器显示时自动运行此脚本的方法。 (我使用的验证与Display="dynamic"
)
当客户端ASP.NET验证器(RequiredFieldValidator
,RangeValidator
等)被触发时,是否有办法运行一些自定义Javascript?每当客户端ASP.NET验证器被触发时运行自定义JavaScript?
基本上,我有一个复杂的布局,需要我运行一个自定义脚本,无论何时显示或隐藏DOM元素。我正在寻找一种在验证器显示时自动运行此脚本的方法。 (我使用的验证与Display="dynamic"
)
见this comment对我如何设法延长ASP.Net客户端验证。 Others已经设法使用服务器端技术来扩展它。
我已经确定我的具体情况最好的解决办法是这样的:
这在很多方面都很难看,它只是针对我的特定场景的一种解决方案,而不是抽象的情况下,我们希望将任意代码搭载到验证器的显示/隐藏上。我很乐意提供更好的建议!
我不确定如果你的问题没有问题,但是这里可以...你可以添加一个自定义的验证器(或者处理onblur事件),在你的javascript自定义验证中,你可以调用Page_ClientValidate()并检查Page_IsValid错误。像下面的代码:
function customValidation() { Page_ClientValidate(); if(!Page_IsValid) { //run your resize script } }
HTH,
这当然比我目前使用的黑客好,但我真的想要一种方法来在全局级别上使用验证周期,而不是单独处理每个验证程序。 – 2008-10-02 14:10:00
我希望ASP.NET提供了一个公共API来做到这一点,但覆盖JS函数将工作。 – 2008-10-02 14:15:42