Несколько месяцев назад я запрограммировал ASP.NET GridView с настраиваемым «Удалить» LinkButton и клиентское подтверждение JavaScript в соответствии с этой статьей msdn:
http://msdn.microsoft.com/en-us/library/bb428868.aspx (опубликовано в апреле 2007 г.)
или, например, Javascript перед asp: нажатие кнопки Button
Код выглядит так:
<ItemTemplate>
<asp:LinkButton ID="deleteLinkButton" runat="server"
Text="Delete"
OnCommand="deleteLinkButtonButton_Command"
CommandName='<%# Eval("id") %>'
OnClientClick='<%# Eval("id", "return confirm(\"Delete Id {0}?\")") %>'
/>
</ItemTemplate>
Удивительно, но «Отмена» больше не работает с моим ie (Версия: 6.0.2900.2180.xpsp_sp2_qfe.080814-1242
) - он всегда удаляет строку. В Opera (версия 9.62) она все еще работает, как описано выше в статье msdn. Более удивительно,
на компьютере коллеги с той же версией, то есть, она все еще работает («Отмена» не удалит строку).
Сгенерированный код выглядит как
<a onclick="return confirm(...);" href="javascript:__doPostBack('...')">
Поскольку подтверждение (...) возвращает false при "Отмена", я ожидаю, что событие __doPostBack в href не будет запущено. Существуют ли какие-то странные настройки, которые я случайно мог изменить? Что еще может быть причиной этого странного поведения? Или это проблема "пожалуйста, переустановите WinXP"?