HtmlButton处理程序在单击时触发两次(当AutoEventWireup =“True”时)

时间:2009-10-13 19:58:24

标签: asp.net

我有一个html按钮,见下文。单击它并且AutoEventWireup =“true”时,Save_Click单击处理程序将被触发两次。当AutoEventWireup =“False”时,它会触发一次。

为什么要开两次?该按钮未注册两次,也没有添加事件处理程序的代码。使用母版页而不是Ajax。

<button id="Save" accesskey="v" type="submit" runat="server" onserverclick="Save_Click"></button>

3 个答案:

答案 0 :(得分:23)

现在(至少在.net 4中)更好:

<button runat="server">

默认情况下表现为type =“submit”(点击时触发两次),因此为了使其正常工作,我们应该明确设置type =“button”,即:

<button id="ButtonSubscribe2" runat="server" type="button" onserverclick="Save_Click"></button>

答案 1 :(得分:10)

好的,我发现HTMLButton会为onserverclick事件和type =“submit”触发。当我删除type =“submit”时,它会触发一次。这种离奇的行为花了我很长时间才发现!

答案 2 :(得分:0)

只是一个猜测:处理程序没有被触发两次,但是你在Page_Load事件中设置了一个类似的行为,使它看起来像是两次触发。