ASP.NET html服务器控件button单击事件被触发两次的问题

xjune2014 2014-06-19 05:46:52
代码很简单,aspx代码如下

<form id="form1" runat="server">
<div>
<!--type=submit"-->
<button id="btnApply" runat="server" type="submit" onserverclick="btnApply_ServerClick">提交</button>
<input id="btnApply2" runat="server" type="submit" onserverclick="btnApply_ServerClick" value="提交2"/>
<asp:Button ID="btnApply3" runat="server" Text="提交3" OnClick="btnApply_ServerClick" />
</div>
</form>


aspx.cs代码如下

protected void btnApply_ServerClick(object sender, EventArgs e)
{
//using System.Diagnostics;
Debug.WriteLine(" aaa");
}


当单击第一个<button>时,服务端事件被调用两次,即"aaa"被输出两次,调试的过程中发现是两个不同的线程在调用这个事件代码,此代码换到另一台电脑的vs开发环境中问题依旧,排除是本机问题,这是什么情况啊,求科普
(补充IE8下会是两次,IE9没试,FireFox下是一次)
...全文
499 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
w20w20520 2015-12-15
  • 打赏
  • 举报
回复
引用 3 楼 webhermit100 的回复:
<button id="btnApply" runat="server" type="submit" onserverclick="btnApply_ServerClick">提交</button> 修改为 <button id="btnApply" runat="server" type="button" onserverclick="btnApply_ServerClick">提交</button> 不用说了,给分吧!
谢谢,同样的问题,解决了
webhermit100 2014-06-23
  • 打赏
  • 举报
回复
不结贴的,以后一概不回答任何问题
-烟花雨季 2014-06-23
  • 打赏
  • 举报
回复
submit提交一次,触发一个事件,onserverclick又触发一次事件,肯定会有两次啊 3L就可以啊 <button id="btnApply" runat="server" type="button" onserverclick="btnApply_ServerClick">提交</button>
schyu1314 2014-06-20
  • 打赏
  • 举报
回复
submit 会提交整个form  所以会触发多次
霜寒月冷 2014-06-20
  • 打赏
  • 举报
回复
引用 7 楼 insus 的回复:
Insus.NET就是在IE8 / 64bit OS下测试的。
发现你的截图工具很拽啊
xjune2014 2014-06-20
  • 打赏
  • 举报
回复
引用 7 楼 insus 的回复:
Insus.NET就是在IE8 / 64bit OS下测试的。
//using System.Diagnostics; Debug.WriteLine(" aaa"); 用Debug.WriteLine,Response.Write看不出来
insus 2014-06-20
  • 打赏
  • 举报
回复
Insus.NET就是在IE8 / 64bit OS下测试的。
xjune2014 2014-06-20
  • 打赏
  • 举报
回复
引用 5 楼 insus 的回复:
拷贝你的代码,测试,没有出现你所说的问题: 你这种写法,让Insus.NET想起: http://www.cnblogs.com/insus/p/3732075.html
在IE8 32/64位下会发生这种情况,FireFox不会,其它浏览器未测试
insus 2014-06-20
  • 打赏
  • 举报
回复
拷贝你的代码,测试,没有出现你所说的问题:



你这种写法,让Insus.NET想起:
http://www.cnblogs.com/insus/p/3732075.html
webhermit100 2014-06-19
  • 打赏
  • 举报
回复
LZ结贴率太低了,不结下次不回啦
webhermit100 2014-06-19
  • 打赏
  • 举报
回复
<button id="btnApply" runat="server" type="submit" onserverclick="btnApply_ServerClick">提交</button> 修改为 <button id="btnApply" runat="server" type="button" onserverclick="btnApply_ServerClick">提交</button> 不用说了,给分吧!
xjune2014 2014-06-19
  • 打赏
  • 举报
回复
引用 1 楼 tanghuawei 的回复:
因为onserverclick这个事件被注册了两次
不是,你把后面两个按钮删除再编译,事件一样被触发两次
tanghuawei 2014-06-19
  • 打赏
  • 举报
回复
因为onserverclick这个事件被注册了两次

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧