2010-04-12 22 views
1

我在這裏要做的是以bulletlist的形式顯示幾個驗證消息,所以我在包含asp:bulletlist的母版頁上有一個Div。就像這樣:在回發後刷新母版頁上的控件

   <div> 
       <asp:BulletedList ID="blstValidationErrorMessage" runat="server" BulletStyle="Disc"> 
       </asp:BulletedList> 
      </div> 

當我然後從我的任何頁面的Save按鈕(主要的ContentPlaceHolder內),我創建的郵件列表,並給這個列表作爲datasouce這樣的:

   blstValidationErrorMessage.DataSource = validationMessageCollection; 
       blstValidationErrorMessage.DataBind(); 

保存按鈕位於一個UpdatePanel內:

ASP:UpdatePanel的RUNAT = 「服務器」 ID = 「UpdatePanel的」 ChildrenAsTriggers = 「真」 的UpdateMode = 「條件」>

沒有任何反應,我可以看到bulletlist的數據源包含X條目,因爲保存按鈕位於更新面板內部,並且此updatepanel外部的元素(例如主頁面控件)未刷新,所以必須出現問題。

所以我的問題是,如何在回發後讓子彈列表刷新?

在此先感謝。

+1

autopostback = true對於您的按鈕可能有幫助 – 2010-04-12 18:50:34

回答

1

如果您的按鈕位於UpdatePanel中,您應該將BulletedList控件放置在UpdatePanel中。

您可以將BulletedList周圍的UpdatePanel放置在MasterPage文件中。將「UpdateMode」設置爲「Conditional」,然後調用UpdatePanel的Update方法以僅在需要時進行刷新(例如,「保存按鈕」單擊)。

+0

謝謝,這確實奏效! – Andreas 2010-04-12 20:15:51

0

保存按鈕只會更新你把它放在UpdatePanel的內容下面是我建議這樣做。

  1. 移動的SaveButton在UpdatePanel之外。你把它放在哪裏,我會留給你的。
  2. 將您的驗證div放在另一個UpdatePanel中。將其稱爲ValidationUpdatePanel
  3. 將您的SaveButton添加爲兩個更新面板的AsyncPostbackTrigger。由於您可能將每個UpdatePanel分成不同的控件/頁面,因此您可能希望以編程方式在代碼隱藏中執行此操作。
+0

謝謝你的回覆:) – Andreas 2010-04-12 20:16:15