2011-04-04 73 views
0

我可以從內容頁面更新masterpage的updatepanel嗎?使用內容頁面的masterpage的UpdatePanel

假設我有類似如下的母版一個UpdatePanel ..

<asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
<ContentTemplate> 
<asp:Literal ID="Literal1" runat="server"></asp:Literal> 
</ContentTemplate> 
</asp:UpdatePanel> 

我可以改變從contentpage Literal1的文本?

如果是這樣 - 如何?

任何幫助表示讚賞!

回答

0

當然可以。

確保您在UpdatePanel內的內容頁面上同時放置了主頁& Button上的兩個Literal。在Button的點擊處理程序,您可以更新母版頁

Literal literal1 = (Literal)Master.FindControl("Literal1"); 
+0

這對我沒有工作:/ HTTP://stackoverflow.com/questions/25447104/why-the-updatepanel-in-masterpage-not-updating-from-an-event - 從最含量巴 – SearchForKnowledge 2014-08-22 13:04:17

0

您可以找到母版頁通過這樣的代碼任何控制:

Literal literal = (Literal)Master.FindControl("Literal1"); 

那麼你應該能夠更新文字的內容。

5

Literal控制或者您可以編程爲AsyncPostBackTrigger添加您發送到您的UpdatePanel。

UpdatePanel panel = (UpdatePanel)Master.FindControl("UpdatePanel1"); 
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger(); 
trigger.ControlID = ((Control)sender).ID; 
panel.Triggers.Add(trigger); 
panel.DataBind(); 
Literal literal = Master.FindControl("Literal1") as Literal; 
literal.Text = "some text"; 
0

感謝對

Özgür的卡普蘭

,我生產我自己的解決方案:

我不得不產生與jQuery.dialog一條警告消息,我已經放在一個UpdatePanel用空的asp:label(UpdateMode =「Conditional」)。

在Master.cs我放在這個公共Funcion:

 public void WarningUpdate(string childControlID, string eventName, string warningMessage) 
    { 
     lblWarningMessage.Text = warningMessage;    
     var trigger = new AsyncPostBackTrigger {ControlID = childControlID, EventName = eventName}; 
     upWarningMessage.Triggers.Add(trigger); 
     upWarningMessage.DataBind(); 
     upWarningMessage.Update(); 
    } 

在頁面,在某些事件(點擊一個......)我已經放在這個代碼:

  var master = (FM) Master; 
      if (master != null) master.WarningUpdate(((Control)sender).ID, "Click", "Devi prima selezionare una Provincia!"); 

,其結果是: enter image description here

相關問題