如何使用PageRequestManager进行PartialPage回发?

时间:2009-06-03 14:15:33

标签: asp.net-ajax updatepanel

我正在尝试从javascript更新和更新面板。

我正在使用的代码有效,但似乎只是回复整页。

function RefreshAppearances() {
    var prm = Sys.WebForms.PageRequestManager.getInstance();
    prm._doPostBack('<%=Me.updAppearances.ID %>', '');
}    

当updatepanels加载事件触发时,ScriptManager.IsInAsyncPostBack始终返回false。

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

我不认为这种方法应该直接使用。我认为这个想法是使用标准的doPostBack函数:

__doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}

或使用Page.ClientScript.GetPostBackClientHyperLink方法为您形成方法调用。如果AJAX可用并且启用了部分回发,则应该通过ScriptManager拦截回发调用,并且应该更新更新面板。