是否可能基于某些验证,在任何单击事件上停止页面回发
您可以使用不同类型的客户端验证。对于ASP.NET WebForms,最简单的方法可能是使用内置验证器(例如:RequiredFieldValidator)。
以上的答案都是正确的。这里还有另一种阻止回发的方法。
Page.ClientScript.RegisterOnSubmitStatement(string key, string script)
我们可以在onsubmit事件中防止页面的后退,因为:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
只需在要验证的任何内容上附加一个点击事件JS函数,并在您不希望它回发到服务器端的ASP.NET时return false;
。