[英]ASP.NET - If page is postback, label doesn't update
我有一個 MainPage.Master 和另一個 ContentPage.Master ,它使用 MainPage.master 作為其母版頁(我認為它“繼承”了主母版頁?不確定術語..)
在 MainPage.Master.cs 我在 Page_Load 中有代碼,它查詢數據庫並返回一個 int(這是 DataTable 中總行數的計數),每個頁面加載都會更新一個 asp:literal,其中包含一些 html . 這在更改頁面期間工作正常,但在回發時不起作用。
例如,當用戶單擊添加到此 DataTable 的按鈕時,它會被添加但 asp:literal 不會更改,直到我單擊更改頁面的鏈接。
回顧一下; 它添加到 DataTable 但不更新 asp:literal 中的計數。 我認為這與回發有關,但不知道該怎么做..
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);
}
}
因此,當用戶單擊按鈕添加到 DataTable 時,此代碼確實有效,但初始時無效。 當我導航到另一個頁面時,它會更新並顯示正確的數字。
謝謝,
邁克爾
如果您希望在用戶單擊按鈕時更改此設置,請將其添加到事件方法而不是頁面加載中。 這應該對你有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.