C# 在.NET web应用程序中添加第二个endRequestHandler
我是C#语言的新手,尝试扩展一个已经存在且未经维护的.NET web应用程序时,我感到非常困惑 该应用程序有一个C# 在.NET web应用程序中添加第二个endRequestHandler,c#,javascript,asp.net,request,C#,Javascript,Asp.net,Request,我是C#语言的新手,尝试扩展一个已经存在且未经维护的.NET web应用程序时,我感到非常困惑 该应用程序有一个Web用户控件,其中有一个按钮,单击该按钮时,通过.ascx中的这段JavaScript代码刷新其内部内容: Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler); function endRequestHandler(sender, args) { var btnId
Web用户控件
,其中有一个按钮,单击该按钮时,通过.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
}
}
令人惊讶的是,当第一个btn
被点击时,警报就会弹出,而第二个btnStats则不会弹出
我认为问题的原因是btnStats
没有触发请求,但正如我所说的,我对这方面还不熟悉,不知道为什么。操作完成得很好,唯一不起作用的就是脚本中的内容。有什么提示吗?我相信这就是if条件的目的——检查单击了哪个按钮。JavaScript的事件模型不允许附加多个处理程序(至少不需要额外的工作),因此这可能是下一个最好的方法
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(sender, args) {
var btnId = '<%= btn.ClientID %>'
var btnStatsId = '<%= btnStats.ClientID %>'
if (sender._postBackSettings.sourceElement.id == btnId) {
// loads a popup with the new content
}
else if (sender._postBackSettings.sourceElement.id == btnStatsId) {
// loads another popup
}
}
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
函数endRequestHandler(发送方,参数){
变量btnId=''
变量btnStatsId=“”
if(发送方。\u postBackSettings.sourceElement.id==btnId){
//加载带有新内容的弹出窗口
}
else if(发送方。\u postBackSettings.sourceElement.id==btnStatsId){
//加载另一个弹出窗口
}
}
谢谢,我也试过了,但还是没有。如果发送方是btnStats
,则该sender
参数不会得到任何信息。这就是为什么我认为请求处理程序会忽略它。
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandler);
function endRequestHandler(sender, args) {
var btnId = '<%= btn.ClientID %>'
var btnStatsId = '<%= btnStats.ClientID %>'
if (sender._postBackSettings.sourceElement.id == btnId) {
// loads a popup with the new content
}
else if (sender._postBackSettings.sourceElement.id == btnStatsId) {
// loads another popup
}
}