Метод нажатия кнопки запускается после загрузки страницы, что означает, что страница не обновляется, как я могу это решить? - PullRequest
5 голосов
/ 21 октября 2010

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

Какое наилучшее решение для этого?

Чтобы уточнить:

Страница содержит фрагмент текста, который говорит «Я люблю кошек», если значение базы данных равно 1

. Нажата кнопка «Я ненавижу кошек», которая устанавливает значение базы данных.на 0

страница перезагружается, но все равно говорит «Я люблю кошек»

событие нажатия кнопки обрабатывается, и значение базы данных становится 0

Если страница обновляется /перезагружен, теперь он правильно говорит: «Я ненавижу кошек»

Должно обновляться, когда нажимается кнопка.

Ответы [ 5 ]

6 голосов
/ 21 октября 2010

вы можете использовать событие prerender страницы .этот пожар после контрольного события в жизненном цикле страницы .

5 голосов
/ 27 июня 2012

Вы можете решить свою проблему с помощью приведенного ниже кода, используйте этот конец блока button_click

для ASPX: (C #)

Response.Redirect(HttpContext.Current.Request.Path);
0 голосов
/ 21 октября 2010

Любопытно, что вы используете что-нибудь вроде Page.IsPostBack {сделать что-то} .. Если это так, не могли бы вы проверить, находится ли ваш обновленный код пользовательского интерфейса вне этой проверки.

0 голосов
/ 21 октября 2010

Одним из возможных решений является выполнение функции javascript, которая обновляет базу данных (используя ajax) при возникновении события OnClientClick для кнопки.В этом случае, когда страница достигнет события Page_Load, вы сможете отобразить соответствующий контент, поскольку обратная передача происходит после выполнения сценария.Он должен работать нормально, если обновление базы данных занимает относительно небольшое время.

0 голосов
/ 21 октября 2010

Куда вы обращаетесь к базе данных? Одним из простых вариантов будет просто использовать Response.Redirect обратно на страницу.

Я думаю, вы можете просто получить результат с помощью метода кнопки и просто обновить метку / литерал.

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