【发布时间】:2008-12-04 13:08:52
【问题描述】:
几个月前,我根据这篇 msdn 文章编写了一个带有自定义“删除”链接按钮和客户端 JavaScript 确认的 ASP.NET GridView:
http://msdn.microsoft.com/en-us/library/bb428868.aspx(2007 年 4 月发布)
或例如Javascript before asp:ButtonField click
代码如下所示:
<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 文章中描述。更令人惊讶的是,
在同事的机器上使用相同的ie版本,它仍然有效(“取消”不会删除该行)。
生成的代码看起来像
<a onclick="return confirm(...);" href="javascript:__doPostBack('...')">
由于 confirm(...) 在“取消”时返回 false,我希望不会触发 href 中的 __doPostBack 事件。是否有任何奇怪的 ie 设置我不小心改变了?还有什么可能是导致这种奇怪行为的原因?或者这是“请重新安装 WinXP”的问题?
【问题讨论】: