У меня есть MainPage.Master и другой ContentPage.Master, который использует MainPage.master в качестве своей главной страницы (я думаю, что он «наследует» главную главную страницу? Не уверен в терминологии ..)
На MainPage.Master.cs У меня есть код в Page_Load, который запрашивает базу данных и возвращает int (который является подсчетом общего числа строк в DataTable), это на каждой странице загружает обновление asp: literal с некоторым html включает в себя инт. Это прекрасно работает при смене страниц, но не при обратной передаче.
Например, когда пользователь нажимает кнопку, которая добавляет этот DataTable, он добавляется, но 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. Когда я перехожу на другую страницу, она обновляется и показывает правильный номер.
Спасибо
Michael