Событие кнопки остановки asp.net при обновлении - PullRequest
1 голос
/ 30 марта 2011

У меня есть кнопка с событием click в моем C #.Это прекрасно работает.Однако, нажав F5 для обновления страницы, я заметил, что событие кнопки срабатывает.Это происходит каждый раз, когда я нажимаю F5.Я добавил if (page.IsPostBack), и метод все еще работает.

Есть ли способ остановить запуск этого метода при нажатии кнопки обновления F5?

Спасибо!

http://pastebin.com/9ycNraaT

Ответы [ 4 ]

1 голос
/ 30 марта 2011

если (! Page.IsPostBack)

НЕ если (page.IsPostBack)

1 голос
/ 30 марта 2011

попробуйте использовать Response.Redirect("Your page ") после вашего кода добавления / обновления.Это не хорошая практика, но она поможет вам.

0 голосов
/ 30 марта 2011

Если у вас есть страница, которую нужно запустить один раз, вы должны реализовать логику в своем коде, которая запрещает запуск одного и того же метода несколько раз.В псевдокоде:

if (canExecuteMethod()) {
    executeMethod();
} else {
    displayMessageThatMethodCannotBeExecuted();
}

Например, вы можете проверить переменную Session с помощью canExecuteMethod(), которая возвращает false, если она отсутствует и установлена ​​в executeMethod():

function canExecuteMethod() {
     return Session["methodIsExecuting"] == null 
         || Session["methodIsExecuting"] == false;
}

function executeMethod() {
    Session["methodIsExecuting"] = true;
    // ...
}

Конечно, использование переменной Session имеет свои ограничения, поэтому вы можете вместо этого рассмотреть возможность использования базы данных или переменной AppSettings.

0 голосов
/ 30 марта 2011

Ни за что.Если один раз нажать кнопку (и опубликовать данные) после обновления, будут отправлены те же данные.

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