2014-02-18 34 views
0

我有一個包含更新面板的頁面,該面板用4個選項卡封裝了ajax tabcontrol。每個選項卡都擁有自己的用戶控件。其中一個選項卡有另一個更新面板(用於在特定的dropdownlist selectedindexchanged事件觸發時觸發異步回發)。其中這個標籤,我有很多的控制,其中有一個標籤,然後包裝了(見下面的HTML的樣品)呈現出一個「*」如果需要現場面板:奇怪的UpdatePanel問題

<asp:Label ID="lblPreferredLanguage" runat="server" Text="Preferred Language:"> 
<asp:Panel ID="pnlPrefLangReq" runat="server" CssClass="fieldSetRequired"> 
    <span>*</span> 
</asp:Panel> 
</asp:Label> 

這一切除非用戶點擊提交而沒有填寫必填字段,否則將呈現精美和豔麗。網站頁面正常顯示錯誤信息給用戶,但是當您查看此標籤,它實際上是重新繪製的「*」第二次,所以我最終的東西,看起來像:

Preferred Language:*  *   [dropdown control] 

我無法弄清楚爲什麼它在這種情況下第二次渲染div。我試圖把控制器的渲染和init方法上的斷點試圖捕獲它,但他們從來沒有被解僱(我假設,因爲它沒有實際的回發發生,因爲它全部在更新面板內)。我很茫然。有沒有人有任何想法?

回答

0

其實忽略了這一點。它與更新面板無關。在控件上有一個必需的字段驗證器,由於某種原因它在控件之前而不是之後呈現(這是爲什麼由於所需字段驗證器的Text屬性設置爲「」而出現第二個「」)。問題(sorta)解決了。