简体   繁体   English

C#Page回发

[英]C# Page postback

是否可以根据某些验证停止任何点击事件的页面回发

You can use client side validation of different kinds. 您可以使用不同类型的客户端验证。 With ASP.NET WebForms, the easiest way would probably be the built in validators (eg: RequiredFieldValidator). 使用ASP.NET WebForms,最简单的方法可能是内置验证器(例如:RequiredFieldValidator)。

if you mean doing it client-side (ie make it so that the page doesn't postback), you'll probably have to do it in Javascript. 如果你的意思是在客户端进行(即使页面不回发),你可能必须在Javascript中进行。

just attach a click event JS function on whatever it is you want validated, and have it return false; 只需在你要验证的任何内容上附加一个click事件JS函数,并让它return false; when you don't want it to postback to server-side ASP.NET. 当你不希望它回发到服务器端的ASP.NET时。

Answers above are correct. 上面的答案是正确的。 Here is another way to block postback. 这是另一种阻止回发的方法。

Page.ClientScript.RegisterOnSubmitStatement(string key, string script)

We can prevent pages from postback at onsubmit event because: 我们可以阻止页面在onsubmit事件上回发,因为:

function __doPostBack(eventTarget, eventArgument) {
     if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
     }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM