c# - 引导程序确认对话框在服务器按钮调用时无法正常工作
问题描述
我正在尝试通过这种方式在自定义 SharePoint WebPart上通过asp:LinkButton调用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: LinkButton,它的服务器端点击事件 ( btn_Click ) 就会在我有机会选择“确定”或“取消”之前被调用。
所以,我的问题是:如何保持 Button 服务器事件,直到我有机会选择“确定”或“取消”。
请注意,此问题仅发生在SharePoint 环境中。
解决方案
如果您提到的问题是链接按钮正在回发,这是因为您的方法 BootstrapDialogPopup 最后没有返回 false。所以你有2个选择:
1)return false;
在末尾添加BootstrapDialogPopup()
2)修改您的按钮 OnClientClick 为:OnClientClick="BootstrapDialogPopup(this);return false;"
推荐阅读
- c++ - 在 C++ 类中执行 while 循环
- rust - 使用 wasm32 simd 内在函数时启用 target_feature 门控语言功能
- css - padding-bottom 不适用于 Firefox 中的固定定位 div
- c++ - 指针指向的值被覆盖
- r - PCA 旋转缺少 PC1 列
- python - 运行本地服务器时找不到 django_heroku,部署的站点工作正常
- c# - File.Copy Throwing 抛出“文件名、目录名或卷标语法不正确”错误
- python - 如何让我的 python 窗口更美观?
- python - 'import matplotlib' 给出了 'module not found 错误'
- python - 查找二进制边缘图像中的闭合循环数