2013-06-20 8 views
0

В событии click у меня есть одна Вставка в базу данных и Response.Redirect для предварительного просмотра записи.Кнопка Click Событие, запущенное после Response.Redirect

Странная проблема: если я нажму кнопку 3 раза, у меня будет 3 новых записи в базе данных. Что странно, потому что Response.Redirect выполняется после первой вставки.

NB:

  • Кнопка вызывает полную обратную передачу, потому что у меня есть, чтобы загрузить файлы на сервер

  • Я попытался Response.Redirect с ложной правдой вариант

  • Я попытался Server.Transfer

Вот мой код:

protected void B_Save_Click(object sender, EventArgs e) 
{ 

Insert_Account(); 

Response.Redirect("index.aspx"); } 
+2

Вам нужно будет предоставить код, прежде чем кто-то действительно сможет вам помочь. – ORION

+0

Возможно, вам придется предотвратить несколько кликов. Как отключить кнопку после клика. Я испытал это раньше, и мне все еще нужно, почему это разрешено. – codingbiz

ответ

3

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

Простым решением является блокировка кнопки на стороне клиента с помощью javascript. Вы можете показать своеобразное уведомление об обработке. Это обычно наблюдается при отправке тележек для покупок и т.п.

+0

Хорошо, что я использовал переменные сеанса, такие как флаг, поэтому я могу знать, где он первый, так или иначе, спасибо за ваше предложение –