我有一个html按钮,见下文。单击它并且AutoEventWireup =“true”时,Save_Click单击处理程序将被触发两次。当AutoEventWireup =“False”时,它会触发一次。
为什么要开两次?该按钮未注册两次,也没有添加事件处理程序的代码。使用母版页而不是Ajax。
<button id="Save" accesskey="v" type="submit" runat="server" onserverclick="Save_Click"></button>
答案 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事件中设置了一个类似的行为,使它看起来像是两次触发。