ASP.NET:客户端验证,服务器端操作

时间:2013-01-26 13:03:39

标签: c# javascript jquery .net web-applications

出于某种原因,我正在使用runat="server"的HTML控件。其中一个控件是一个按钮。我有客户端验证功能。成功进行客户端验证后,我不想触发服务器端操作。

HTML:

<button type="button" id="webSubmit" 
runat="server" 
onclick="return $('#form1').valid();">Submit</button>

服务器端:

protected void webSubmit_ServerClick(object sender, EventArgs e)
{
   //foo
}

单击按钮时,它会验证表单,但即使验证返回true,也不会回发

由ASP.net生成:

<button onclick="return $('#form1').valid(); __doPostBack('webSubmit','')" 
id="webSubmit" type="button">Submit</button>

1 个答案:

答案 0 :(得分:0)

我将 onclick 代码更改为:

onclick="$('#form1').valid() && "

ASP.net生成的代码是:

<button onclick="$('#form1').valid() &&  __doPostBack('webSubmit','')" 
id="webSubmit" type="button">Submit</button>

等于:

if ($('#form1').valid()){
__doPostBack('webSubmit','')
}

我从Can I omit the else in an inline javascript if statement?

得到了这个想法