我是 C# 语言的新手,在尝试扩展已经存在且非托管的 .NET Web 应用程序时我很迷茫。
该应用程序有一个Web User Control
带有按钮的按钮,当单击该按钮时,它会通过 .ascx 中的这段 JavaScript 代码刷新其内部内容:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(sender, args) {
var btnId = '<%= btn.ClientID %>'
if (sender._postBackSettings.sourceElement.id == btnId) {
// loads a popup with the new content
}
}
这完美地工作。当我尝试添加一个Web User Control
几乎相同的新功能时,问题就来了,但当然是通过不同的按钮并加载不同的内容。我复制了前面和后面的代码结构,但我无法endRequestHandler
执行第二个:
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandlerStats);
function endRequestHandlerStats(sender, args) {
alert("I'm here!");
var btnStatsId = '<%= btnStats.ClientID %>'
if (sender._postBackSettings.sourceElement.id == btnStatsId) {
// loads another popup
}
}
令人惊讶的是,alert
当第一个btn
被点击时会弹出,但不会在第二个被点击时弹出btnStats
。
我认为问题是由于btnStats
没有触发请求而引起的,但是正如我所说,我对此很陌生,我不知道为什么。并且操作正确完成,唯一不起作用的是该脚本中所做的事情。请问有什么提示吗?