多个更新面板

时间:2009-10-02 15:06:43

标签: asp.net

如果页面上有多个UpdatePanel,有没有办法在后面的代码中找出哪个更新面板触发了回发? Request["__EVENTTARGET"]似乎不是一种可行的方法。

2 个答案:

答案 0 :(得分:1)

UpdatePanel不会触发PostBack,它会拦截它们。 PostBack的发起者就像一个按钮。如果你有所有交互元素的事件处理程序,你自然知道哪个事件处理程序运行了哪个。

答案 1 :(得分:0)

您可以使用以下

获取客户端上的回发元素的ID
function pageLoad(sender, args) {

// add function to the PageRequestManager to be executed on async postback initialize
var prm = Sys.WebForms.PageRequestManager.getInstance();
      prm.add_initializeRequest(InitializeRequest);   
}


function InitializeRequest(sender, args) {
    if(args._postBackElement.id === 'id_of_element_in_question' {              
        // do whatever
    }         
}

要在服务器上获取它,大概你会知道哪个控件/事件引发了回发,因为它将在代码隐藏中的相关事件处理程序中处理。