我有一个问题的ASP.NET触发按钮点击两次。按钮在UpdatePanel中,但当我单击它时,我会得到两次回发,然后是两次按钮单击,然后是对我的DAL的两次调用(按此顺序)。我以前从未遇到过这种情况,并且将AutoEventWireup更改为false没有任何效果。我能想到的唯一解决办法是隐藏web服务中的功能,并使用jQuery处理复杂的问题,我不愿在小型项目中这样做。
下面是firebug转储(这两个转储都是通过单击实现的)。

发布于 2014-04-03 04:49:50
将以下脚本放在页面上的ScriptManager之后。
<script type="text/javascript">
var postbackControl = null;
var parm = Sys.WebForms.PageRequestManager.getInstance();
parm.add_beginRequest(BeginRequestHandler);
parm.add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args)
{
postbackControl = args.get_postBackElement();
postbackControl.disabled = true;
}
function EndRequestHandler(sender, args)
{
postbackControl.disabled = false;
postbackControl = null;
}
</script>发布于 2011-07-31 00:45:06
会不会是你已经将jQuery click()连接到了这个按钮,而这个按钮也被ASP.NET隐式地内联到了onchange?
jQuery.change + inline onchange fn() causes fn to execute twice
或者,您是否检查过是否已经两次挂接了服务器端处理程序,都是在标记中声明和在代码隐藏中强制挂接?
发布于 2011-07-31 02:33:00
奇怪的是,这似乎是由于按钮的一个不可靠的ControlAdapter造成的,它在按钮标签内添加了一个跨度,以使滑动门工作。
https://stackoverflow.com/questions/6884134
复制相似问题