2009-09-25 1 views
4

У меня есть код, как это в Page_Load()Как подтвердить до удаления в ASP.NET?

btnMainDelete.Attributes.Add("onclick", "if(confirm('Are you sure you want to delete this?')){}else{return true}"); 

В основном, это подтверждающее, что перед удалением (Да/Нет). Если это да, то удалите запись, а если нет, тогда ничего не делайте.

Для btnMainDelete, я ставлю следующим образом:

<asp:Button ID="btnMainDelete" runat="server" Text="Delete" OnClick="btnMainDelete_Click" /> 

Теперь вопрос заключается в том, что я не нажать Да или Нет всегда выполняет btnMainDelete_Click на стороне сервера? У меня должно быть что-то отсутствует здесь.

Благодаря

ответ

9

Put действительный подтвердить сценарий в OnClientClick:

<asp:Button ID="btnMainDelete" OnClientClick="javascript:return confirm('Are you sure?');" runat="server" Text="Delete" OnClick="btnMainDelete_Click" /> 
+1

+1 Я собирался опубликовать то же самое с той лишь разницей: OnClientClick =" JavaScript : подтвердить («Вы уверены?»); « – David

+0

Это на самом деле не проблема - то, как OP добавляет javascript, это немного старая школа, но она все равно выполняет то же самое, что и OnClientClick. Проблема в том, что он никогда return false. – womp

+0

Я думаю, что использование OnClientClick является более чистым и лучшим примером для других. –

7

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

попробовать:

return confirm('Are you sure you want to delete this?'); 

IE:

btnMainDelete.Attributes.Add("onclick", "return confirm('Are you sure you want to delete this?');"); 
+0

Определенно правильный способ сделать это. или ... OnClientClick = "return confirm (« Вы уверены?'); "... на странице aspx. – goldenratio

+0

+1 Я соглашаюсь, истинной ошибкой был скрипт :) –

+0

Ya..This это способ сделать ... – Dini88

0

Поместите свой скрипт в OnClientClick

например,

btnMainDelete.OnClientClick = "if (confirm('Are you sure you want to delete this?') == false) return false;"; 
1

вы хотите изменить код с

<asp:Button ID="btnMainDelete" runat="server" Text="Delete" OnClientClick ="javascript:confirm('Are you sure want to delete ?');" /> 

OnClientClick: Получает или задает скрипт на стороне клиента, который выполняется при активации события Click Button Button.

OnClick: Вызывает событие Click элемента управления Button

Так что в вашем случае подтверждения он должен поднять сценарий на стороне клиента. Поэтому вы должны указать событие OnClientClick. !

0

с помощью этого

btnDelete.Attributes.Add("onclick", "return confirm('Do you really want to delete this item?' 

Это удалит навсегда пункт в вашей базе данных "); ");