我在按钮点击处理程序中有以下代码。这两种方法都很好。 Page_ClientValidate()
会导致额外的验证检查并进行处理,而Page_IsValid
会使用现有属性。
问题
Page_IsValid
?如果无法保证,我们需要明确调用Page_ClientValidate()
。Page_IsValid
之前发生了什么事件?对于此类活动,我们不应该依赖Page_IsValid
更新
是否确保仅在验证部分完成后调用按钮单击事件处理程序(在JavaScript中)(即,在作为验证的一部分调用Page_ClientValidate()之后)?如果可以肯定,我可以依赖Page_IsValid吗?
SCRIPT
$('#btnSave').click(function (e) {
//Aproach 1
var isValid = Page_ClientValidate('');
if (isValid)
{
//Do reamining work
}
//Aproach 2
if (Page_IsValid)
{
//Do reamining work
}
});
参考:
答案 0 :(得分:4)
如果点击按钮,则在按钮的Page_ClientValidate()
设置为CausesValidation
时(且仅当)时调用true
。
Page_ClientValidate()
是回发过程的一部分,因此在按钮的点击中调用它。
我仅在>强调Page_IsValid
之后的函数范围内依赖Page_ClientValidate()
。否则我总是致电Page_ClientValidate()
。
注释:反复调用Page_ClientValidate()
可能会导致页面过于突兀(多个警报等)。这就是为什么拥有一个负责所有验证的自定义验证功能的原因。