2009-09-03 10 views
2

1ページに2つの更新パネルがあります。リクエスト後、アップデートされたアップデートパネルを確認したい。私はsender._postBackSettings.panelIDがこれに適しているはずです:)sender._postBackSettings.panelIDはIE以外のブラウザでnullを返しますか?

ただし、非IEブラウザでポストバックを取得すると、nullが返されます。

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(
    function(sender, args) { 
    var postBackControls = sender._postBackSettings.panelID.split("|"); 
    ........ 
}); 

私は2 updatepanels、条件付きupdatemodesとの両方だ:

<asp:UpdatePanel ID="updScheduleTemplate" runat="server" 
    UpdateMode="Conditional"> 
    <ContentTemplate> 
    ......... 

どれ
<asp:UpdatePanel ID="updSpecialDays" runat="server" 
    OnLoad="updSpecialDays_OnLoad" UpdateMode="Conditional"> 
    <ContentTemplate> 
    .......... 

をそれはここでcodesnippetだ

... IEで非常にうまく動作します助けが高く評価されるだろう、私はを含まない代替ソリューションのために開いている事前にの

感謝:)

+0

これは奇妙です。 Firebugでデバッグしようとしましたか? – jrummell

+0

うん、ショーのnull :( – cwap

答えて

3

ではなくをadd_pageLoaded試してみてください。

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(pageLoaded); 

function pageLoaded(sender, args) 
{ 
    var panels = args.get_panelsUpdated(); 

    if (panels.length > 0) 
    {  
     for (i=0; i < panels.length; i++) { 
      var panelID =panels[i]; 
     }   
    } 
} 

を、私はそれを動作wouldntのように聞こえる知っているが、MSDNから、次の記事によるということを信じる十分な理由がありますそれはまた、updatepanel完全なイベントもキャッチします。 http://msdn.microsoft.com/en-us/magazine/cc163413.aspx

_postBackSettingsはプライベートであり、外部使用を目的としていない可能性があります。

関連する問題