2014-02-24 27 views
0

我有一個從我的頁面上的按鈕被調用的jquery模式。當調用此按鈕的Webmethod並且所有邏輯都完成時,我需要刷新頁面上的多個更新面板,以反映WebMethod中發生的更改。爲UpdatePanels運行回發

我沒有使用更新面板很多,但我已經遵循了一個視圖的例子,並畫空白。

在我的電話的成功部分,我已經放在這個:

success: function (msg) { 
     $('#ApproveDialog').modal('hide'); 
     __doPostBack("<%= UpdatePanel1 %>",""); 

和我的更新面板:

 <asp:Button ID="button" runat="server" style="display:none;"/> 
     <asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional"> 
      <ContentTemplate> 
       <asp:GridView ID="grdMessageDate" runat="server"/>    </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="button" EventName="Click"/> 
      </Triggers> 
     </asp:UpdatePanel> 

我已經離開了電網的一部分,但我在第一列中有一個按鈕,用於顯示更多信息。

當我點擊網格中的按鈕。這是造成回發。

如何在成功方法中調用回傳?

回答

1

你應該能夠在成功回傳,像這樣:

__doPostBack("UpdatePanel1",""); 

,或者如果在UpdatePanel得到一個asp.net格式化ID:

__doPostBack("<%= UpdatePanel1.ClientID %>",""); 

否則,你可以使用隱藏式按鍵技術(我用這個,但不認爲這是最優雅的方法)

查看帖子:Force a postback in Javascript for UpdatePanel?

+0

嗨Sanpopo,我同意這不是最優雅的方式,但似乎是唯一的選擇。我會盡力,你的建議。你知道任何保持國家的技巧嗎?我的意思是除了cookies之外 – CSharpNewBee

+0

@CSharpNewBee它真的取決於你想做什麼,這是一個巨大的話題,並且有很多風味,視圖狀態,會話狀態,應用程序狀態等。如果你對某個特定場景有疑問,最好在一個單獨的SO帖子中發佈。 :) – Popo