ASP.NET - если страница находится в режиме обратной передачи, ярлык не обновляется - PullRequest
0 голосов
/ 30 апреля 2011

У меня есть 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

1 Ответ

0 голосов
/ 30 апреля 2011

Если вы хотите, чтобы это изменилось, когда пользователь нажимает кнопку, добавьте ее к методу события, а не к загрузке страницы.Это должно работать на вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...