2012-06-19 73 views
6

我有一個內容頁面我正在更新內容頁面的主頁面標籤的asp值:值會得到更新,但更新後的值不可見。 我試過兩種方法使用主頁面標籤的值沒有得到更新表格內容頁面

1)。定義一個屬性(在母版頁上)來設置和獲取標籤值。 例如

public string setErrorMsg 
{   
    get { return lbl1.Text; } 
    set { lbl1.Text = value; } 
} 

2)通過在從內容頁面控制(主頁的標籤)和設置其文本。 例如

Label lblMasterError = this.Page.Master.FindControl("lbl1") as Label; 
lblMasterError.Text="text is updated form content page"; 

都被更新值,如果我看到它在調試模式,但更新的標籤值並不對內容page.What可見的可能是這種現象的可能原因是什麼?

+2

哪個事件是這樣的代碼?您可能在渲染後設置它。 – MNGwinn

+0

我正在更新內容頁面中按鈕單擊事件的母版頁標籤值。 –

回答

1

我不知道爲什麼沒有找到你的標籤,但我有同樣的事情發生之前。這對我來說是什麼在起作用:

在母版頁CS:

public void SetErrorMsg(string ErrorMsg) 
{ 
    this.lbl1.Text = ErrorMsg; 
} 

從aspx頁面的代碼背後(更換myMasterPage名W /你的):

((myMasterPage)Master).SetErrorMsg("Some error text"); 
+1

經過大量搜索,我自己解決了這個問題。問題是我正在更新母版頁標籤,通過其中已更新面板的內容頁面。這個問題有兩種解決方案。 1)使用某個事件的更新面板的觸發器給出部分回傳。或者(2)如果您不希望頁面回發將主頁面標籤放在更新面板中,並使用find控件屬性更新面板並調用更新面板的內置更新功能UpdatePanel up_pnl = UpdatePanel)Master.FindControl(「UpdatePanel1 「);然後在更新標籤文本up_pnl.update()後調用。 –

+0

你好穆罕默德當前我面臨同樣的問題。你在哪裏找到更新面板。你是在主頁面還是內容頁面調用這段代碼?請把你的代碼放在這裏。 –