我在ASP.NET触发按钮单击两次时遇到问题。该按钮位于UpdatePanel内,但是当我单击它时,会得到两次回发,然后单击两次,然后两次调用DAL(按此顺序)。我以前从未遇到过,将AutoEventWireup更改为false无效。我唯一能想到的解决方法是将Web服务的功能隐藏起来,并处理jQuery带来的复杂性,而我宁愿对一个小型项目也不要这样做。
萤火虫转储位于以下位置(这两个操作都只需单击一下即可完成)。
最佳答案
将以下脚本放在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>
关于c# - UpdatePanel内的Double PostBack,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6884134/