2011-04-30 19 views
0

我有一個MainPage.Master以及使用MainPage.master作爲它的母版另一ContentPage.Master(我認爲這是繼承「的主要母版頁不知道?在術語..)ASP.NET - 如果頁面回發,標籤不更新

在MainPage.Master.cs我有Page_Load內查詢數據庫並返回一個int(這是一個DataTable中的行總數的計數)的代碼,這在每個頁面加載更新一個ASP :包含int的一些html文字。這在更改頁面時可以正常工作,但不能在回發頁面中正常工作

例如,當用戶點擊一個按鈕,增加了該數據表是越來越增加,但在asp:文字不改變,直到我點擊它改變了頁面的鏈接。

因此,要概括;它添加到DataTable中,但不更新asp:文字中的計數。我覺得這事做回傳,但不知道該怎麼做..

的代碼MasterPage.master.cs:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Session["OrderID"] == null) 
    { 
     NoItemsInCart.Text = "<span class=\"ajax_cart_no_product\">0 items</span>"; 
    } 
    else 
    { 
     var itemsincart = Cart.ItemsInCart((int)Session["OrderID"]); 
     NoItemsInCart.Text = string.Format("<span class=\"ajax_cart_no_product\">{0} item(s)</span>", itemsincart); 
    } 
} 

所以這個代碼不實際工作卻沒有initialy當用戶點擊要添加到DataTable的按鈕。當我導航到另一個頁面時,它會更新並顯示正確的編號。

感謝,

邁克爾

+0

爲什麼你需要嵌套母版頁? – IrishChieftain 2011-04-30 19:27:00

+0

這只是我如何接手項目..沒有時間改變的東西到這個程度.. – MichaelEaton 2011-04-30 20:09:58

回答

0

如果你想要這個,當用戶點擊一個按鈕來更改,將其添加到事件的方法,而不是在頁面加載。這應該對你有用。

+1

但ASP:文字是在MainPage.Master ..不是內容頁面..如何從訪問內容頁面? – MichaelEaton 2011-04-30 20:06:57

+0

我明白了,你應該能夠通過使用Page.Master.FindControl(「控件ID」)來訪問; (我不能給出確切的語法,因爲我不是通過Visual Studio來嘗試它,但嘗試)。 – 2011-04-30 23:22:49