【问题标题】:OnCommand Not Firing After OnClientClick return confirmOnClientClick 返回确认后 OnCommand 未触发
【发布时间】:2013-03-06 02:12:28
【问题描述】:

我有这个运行良好的删除功能。想在用户决定删除之前添加确认,但现在用户从确认框中返回 OK 后我的删除将不起作用。

HTML:

<div>
    <asp:Button ID="btnDelete" UseSubmitBehavior="false" runat="server" Text="Remove" 
        CssClass="appdl" CommandName="Remove" OnCommand="AppsList_ItemCommand" 
        OnClientClick="return confirm('Are you certain you want to delete?');"
        CommandArgument='<%# Eval("ID") %>' />
</div>

正如您在上面的 HTML 中看到的,我使用 OnCommand 来执行删除功能。在我添加 OnClientClick 后,OnCommand 似乎停止触发,即使在我单击确定之后也是如此。不太确定出了什么问题。任何指针将不胜感激。

【问题讨论】:

  • 您的Command 被javascript onClientClick 覆盖。 (不确定)
  • @Zenvo,在指定 OnClientClick 之前 OnCommand 事件是否被触发?
  • 不,我有 OnCommand 从列表视图中删除项目,但是当我单击 btnDelete 时,我得到的只是确认框,没有任何内容被删除。

标签: c# asp.net events onclientclick


【解决方案1】:

从您的标记中删除 UseSubmitBehavior="false" 并尝试

【讨论】:

  • 需要禁用事件验证
【解决方案2】:
function conformbox()
{
var con=confirm("Are you sure want to delete?");
if(con==true)
{
return true;
}
else
{
return false;}
}

-------------//*//----------------

<asp:Button ID="deleteBtn" runat="server" Text="Delete User" OnClientClick="return         
conformbox();" /><br />

检查返回值(真或假)

【讨论】:

    【解决方案3】:

    试试这个

    <div>
        <span onclick="return confirm('Are you certain you want to delete?');">
           <asp:Button ID="btnDelete" UseSubmitBehavior="false" runat="server" Text="Remove" 
                CssClass="appdl" CommandName="Remove" OnCommand="AppsList_ItemCommand"         
                CommandArgument='<%# Eval("ID") %>' />
          </span>
    <div/>
    

    【讨论】:

    • 这删除了文件,即使我按下了取消
    • 使用相同的代码,但有小改动,使用 OnClick 代替 OnCommand 或删除 UseSubmitBehavior="false" 属性。
    猜你喜欢
    • 2013-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-14
    • 2019-03-31
    相关资源
    最近更新 更多