看起来有时候(但并非总是),我的按钮点击事件会被触发两次。它似乎有时候发生,但不总是,这真的让我感到困惑。这是我的按钮:
<button id="btnSave" onserverclick="btnAddUser_Click" name="btnSave" type="submit" style="font-size:11px;font-family:Verdana;font-weight:bold;" runat="server">Save</button>
看起来有时候(但并非总是),我的按钮点击事件会被触发两次。它似乎有时候发生,但不总是,这真的让我感到困惑。这是我的按钮:
<button id="btnSave" onserverclick="btnAddUser_Click" name="btnSave" type="submit" style="font-size:11px;font-family:Verdana;font-weight:bold;" runat="server">Save</button>
我也遇到了同样的问题,花了一段时间才弄清楚!如果你给按钮加上type="button"属性,看起来就可以解决这个问题。
Protected Sub btnSave_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)
'Do Something
End Sub
不要这样做:
Protected Sub _btnSave_OnClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
'Do Something
End Sub
<span class="input-group-btn">
<button id="btnLoadCustomerFile" class="btn btn-default" type="button" runat="server" onserverclick="btnLoadCustomerFile_Click" >Load</button>
</span>
后端代码用于处理单击事件
protected void btnLoadCustomerFile_Click(object sender,EventArgs e)
{
LoadCustomerFile();
}
<asp:Button id="btnSave" runat="server" OnClick="btnAddUser_Click"
style="font-size:11px;font-family:Verdana;font-weight:bold;" Text="Save" />
$("input[type=button]").addClass('ui-button ui-widget');
以jQuery方式实现,或者只需将CssClass="ui-button ui-widget"
添加到你的ASP.NET按钮中。让我知道它的效果如何。 - Town看起来是事件处理程序的连线问题。 http://geekswithblogs.net/TimH/archive/2006/10/23/94874.aspx
尝试在后端只使用事件处理程序。此外,问题可能是由于type = "Submit"引起的。请检查是否将其更改为Button可以解决问题。
<button id="btnSave" name="btnSave" type="submit" style="font-size:11px;font-family:Verdana;font-weight:bold;" runat="server">保存</button>
。可能的一个原因是:
检查你在.aspx文件中按钮的声明。如果你有 'runat=server'
和 onclick="button1_click"
,并且你在代码后台(即.aspx.vb)中有一个事件处理程序,
它会导致事件被触发两次。下面是一个在xxx.aspx中的示例:
<asp:Button id="button1" onclick="button1_Click" runat="server" Text="Click Me!"></asp:Button>
<asp:Button id="button1" runat="server" Text="Click Me!"></asp:Button>
祝好运!
在 ASP.NET Web 表单页面中,正确的方法(就像其他一些贡献者已经指出的那样)是将 type="button" 属性添加到元素中,并关联一个 onserverclick 事件委托处理程序。
例如:
<button type="button" id="btnSave" runat="server" onserverclick="btnSave_ServerClick" class="btn btn-success btn-label">
<i class="fa fa-save"></i>Save
</button>
我曾经遇到过同样的问题,但原因却有所不同。我将容器面板的默认按钮属性设置为触发两次的按钮。在从Asp:Panel中删除"DefaultButton"属性后,问题得到了解决。
最近又得回到老派的 ASPX,发现了这个问题。
我的表单设置如下。
<asp:UpdatePanel ID="login" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="forgotPassword" runat="server" DefaultButton="lbtnSendLoginDetails" Visible="False">
<asp:LinkButton ID="lbtnSendLoginDetails" runat="server" >
背后的代码是
Protected Sub lbtnSendLoginDetails_Click(sender As Object, e As EventArgs) Handles lbtnSendLoginDetails.Click
TabIndex="4"
到 LinkButton。
Handles lbtnSendLoginDetails.Click
? - Kiquenet