ASP.. NET -如果页面回发,标签不会更新

本文关键字:标签 更新 NET 如果 ASP | 更新日期: 2023-09-27 17:54:11

我有一个主页。Master和另一个ContentPage。使用MainPage的Master。Master作为它的母版页(我认为它继承了主母版页?不确定术语…)

在MainPage.Master.cs上,我在Page_Load内的代码查询数据库并返回一个int(这是一个数据表中行总数的计数),这在每个页面加载更新一个asp:文字与一些html,其中包括int。这在更改页面时可以正常工作,但在回发时不行。

例如,当用户点击一个按钮,添加到这个数据表,它被添加,但asp:文字不改变,直到我点击一个链接,改变页面。

总结一下;它添加到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的时候。当我导航到另一个页面时,它会更新并显示正确的数字。

谢谢,迈克尔

ASP.. NET -如果页面回发,标签不会更新

如果您希望在用户单击按钮时更改此属性,请将其添加到事件方法中,而不是在页面加载中。这应该对你有用。