【问题标题】:OnClientClick="return confirm('Are you sure you want delete');"OnClientClick="return confirm('你确定要删除');"
【发布时间】:2009-12-02 07:20:24
【问题描述】:

我正在使用此代码确认删除。当我点击链接按钮时,它要求我确认,但我第一次点击确定时,记录并没有被删除(仅第一次)

此后该记录被成功删除。

<asp:LinkButton ID="LinkBtnDelete" runat="server" 
OnClientClick="return confirm('Are you sure you want delete');" 
CommandName="Delete">Delete 
</asp:LinkButton> 

任何帮助都会很棒,谢谢。

【问题讨论】:

  • 你能澄清一下这个说法吗?您是说第一次单击“确定”时它仅第二次不起作用?
  • 页面是否回传,记录没有被删除?这可能是视图状态问题。
  • 您必须使用更新面板?
  • 您是否调试并验证过删除命令正在被触发?

标签: asp.net javascript


【解决方案1】:

如果上述答案不适合您,请尝试以下代码:

<asp:LinkButton ID="LinkBtnDelete" runat="server" 
OnClientClick="if (!confirm('Are you sure you want delete?')) return false;" 
CommandName="Delete">Delete 
</asp:LinkButton>

【讨论】:

  • 有人能解释一下为什么这行得通而简单的return confirm('Delete Record?'); 不行吗?
  • @SBF:因为 ASP.NET 只是将 OnClientClick 代码“复制并粘贴”到它自己的方法中间。因此,A; return confirm(...); B; 从不 执行B(其中包含调用服务器端方法所需的代码)。但是,A; if (!confirm(...)) return; B; 可以。请注意,您的自定义代码的返回值是无关紧要的,而且是红鲱鱼。
【解决方案2】:
<asp:LinkButton ID="LinkBtnDelete" runat="server" 
OnClientClick="return confirm('Are you sure you want delete');" 
CommandName="Delete" CommandArgument="">Delete 
</asp:LinkButton>

您必须输入 CommandArgument 以便它从第一次开始工作

【讨论】:

    猜你喜欢
    • 2013-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-23
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多