【问题标题】:ASP.NET: Client-side validation, server-side actionASP.NET:客户端验证,服务器端操作
【发布时间】:2013-01-10 07:49:18
【问题描述】:

出于某种原因,我使用带有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>

【问题讨论】:

  • 你有什么Button.UseSubmitBehavior Property 设置为真的..? Button.UseSubmit

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


【解决方案1】:

我将 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?

【讨论】:

    猜你喜欢
    • 2017-01-26
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    相关资源
    最近更新 更多