【问题标题】:Calling Jquery function from GridView link从 GridView 链接调用 Jquery 函数
【发布时间】:2023-03-21 22:10:02
【问题描述】:

在尝试了所有可能的方法数小时后,我放弃了。也许你们可以看到我在这里做错了什么。 我有一个带有删除按钮的 GridView。在 ClientClick 事件中,我调用了一个 javascript 函数,该函数打开一个带有是/否按钮的 jquery msgbox。如果用户点击yes,我希望函数ConfirmDeleteRecord()返回true。

这是 GridView 上的“删除”列的样子:

<asp:TemplateField HeaderText="Delete" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
        <asp:LinkButton CommandArgument='<%# DataBinder.Eval(Container.DataItem, "ClientSkuID") %>' Text="Delete" runat="server" ID="lnkDelete" OnClientClick="return ConfirmDeleteRecord()"></asp:LinkButton>
    </ItemTemplate>

这是我的 Javascript 函数:

function ConfirmDeleteRecord() {

var bResult = false;

$.msgBox({
    title: "Are You Sure?",
    content: "Are you sure you want to delete this record?",                    
    type: "confirm",
    buttons: [{ value: "Yes" }, { value: "No" }, { value: "Cancel"}],
    success: function (result) {
        if (result == "Yes") {
            bResult = true;
        }
    }
    });


return bResult;

}

问题是代码永远不会到达“return bResult”行。

谢谢大家。

【问题讨论】:

    标签: javascript jquery asp.net jquery-ui gridview


    【解决方案1】:

    这行不通,因为 $.msgBox 不是像 confirm() 那样的阻塞函数。有道理?该功能所做的只是显示一些 HTML。你需要做的是改变你的代码:

     if (result == "Yes") {
                bResult = true;
            }
    

    类似于:

    if (result == "Yes") {
     //perform postback here to delete the record. 
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2013-03-18
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      相关资源
      最近更新 更多