我有一个MainPage.Master和另一个使用MainPage.master作为其主页的ContentPage.Master(我认为它'继承'主要母版页?对术语不确定..)
在MainPage.Master.cs上我在Page_Load中有代码查询数据库并返回一个int(这是一个DataTable中总行数的计数)这个在每个页面上加载更新一个带有一些html的asp:literal包括int。这在更改页面时工作正常,但在回发时不起作用。
例如,当用户单击添加到此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的按钮时,此代码确实可以正常工作,但不能初始化。当我导航到另一个页面时,它会更新并显示正确的数字。
谢谢,
迈克尔
答案 0 :(得分:0)
如果您希望在用户单击按钮时更改此项,请将其添加到事件方法而不是页面加载。这应该适合你。