Asp.net 如何防止客户端回发?

Asp.net 如何防止客户端回发?,asp.net,validation,postback,Asp.net,Validation,Postback,我在客户端上有一些验证JS代码,必须在回发之前执行。 如果此验证代码返回“false”,则无需回发。 如何禁用它?在ASP按钮上设置OnClientClick='YourJSValidationFunction' 然后让YourJSValidationFunction返回true或false False将阻止回发 例如: 请记住,真正的验证应该始终在服务器上进行。您在客户端所做的任何事情都只是为了节省一些http往返的优化 保持客户端和服务器端验证与ASP.Net同步的最简单方法是使用验证控件。

我在客户端上有一些验证JS代码,必须在回发之前执行。 如果此验证代码返回“false”,则无需回发。
如何禁用它?

在ASP按钮上设置OnClientClick='YourJSValidationFunction'

然后让YourJSValidationFunction返回true或false

False将阻止回发

例如:
请记住,真正的验证应该始终在服务器上进行。您在客户端所做的任何事情都只是为了节省一些http往返的优化

保持客户端和服务器端验证与ASP.Net同步的最简单方法是使用验证控件。验证控件将同时执行客户端和服务器端验证,这样,如果客户端验证失败,它将永远不会发布到服务器


如果您想执行标准验证控件未涵盖的操作,您应该使用CustomValidator或从BaseValidator继承您自己的控件。

您使用什么:一些验证程序或带有onclick事件的按钮? 如果你有

<input type="button" id="btnID" runat="server" onclick="CheckValid();"/>

function CheckValid()
{
   if(!IsValid) return false;//then no post back occer
}

函数CheckValid()
{
如果(!IsValid)返回false;//则没有回发occer
}

如果回发是由按钮触发的,则可以执行以下操作:

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return IsValid();" />

如果IsValid函数返回false,则将阻止回发。
如果您希望捕获所有回发,而不管哪个控件触发回发,则可以使用

根据您尝试的验证,您也可以使用CustomValidator控件。这还允许您在服务器端轻松实现验证逻辑。

在本例中,您只需返回IsValid:)