从GridView链接调用Jquery函数

时间:2012-12-08 21:20:37

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

经过几个小时的尝试,我放弃了。也许你们可以看到我在这里做错了什么。 我有一个带有删除按钮的GridView。在ClientClick事件上,我调用一个javascript函数,打开一个带有yes / no按钮的jquery msgbox。如果用户单击是,我希望函数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;

}

问题在于代码永远不会“返回bResult”行。

谢谢大家。

1 个答案:

答案 0 :(得分:0)

这不起作用,因为$ .msgBox不是像confirm()那样的阻塞函数。合理?所有功能都在显示一些HTML。您需要做的是改变您的代码:

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

类似于:

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