首页 > 解决方案 > 引导程序确认对话框在服务器按钮调用时无法正常工作

问题描述

我正在尝试通过这种方式在自定义 SharePoint WebPart上通过asp:LinkBut​​ton调用BootstrapDialog.confirm() :

<asp:LinkButton runat="server" OnClientClick="BootstrapDialogPopup(this);return false;" OnClick="btn_Click" />

BootstrapDialog函数是:

function BootstrapDialogPopup(param) {
BootstrapDialog.confirm({
    title: 'Cancel',
    message: 'Are you sure?!',
    type: BootstrapDialog.TYPE_DEFAULT,
    closable: true,
    draggable: true,
    btnCancelLabel: 'Cancel',
    btnOKLabel: 'Ok',
    btnOKClass: 'btn-warning',
    callback: function (result) {
        if (result) {
            javascript: __doPostBack(param.name, '');
        } else {
            BootstrapDialog.closeAll();
        }
    }
});

}

但是,一旦我点击了asp: LinkBut​​ton,它的服务器端点击事件 ( btn_Click ) 就会在我有机会选择“确定”或“取消”之前被调用。

所以,我的问题是:如何保持 Button 服务器事件,直到我有机会选择“确定”或“取消”。

请注意,此问题仅发生在SharePoint 环境中

标签: c#asp.netsharepointbootstrap-dialog

解决方案


如果您提到的问题是链接按钮正在回发,这是因为您的方法 BootstrapDialogPopup 最后没有返回 false。所以你有2个选择:

1)return false;在末尾添加BootstrapDialogPopup()

2)修改您的按钮 OnClientClick 为:OnClientClick="BootstrapDialogPopup(this);return false;"


推荐阅读