5最近是比较烦直接使用Bootstrap里面的模态框,满屏都是模态框代码,看得心烦。然后想起以前使用的BootstrapDialog.show()的方式,挺简单好用的。然后就拿出来分享一下。

1.下载bootstrap-dialog插件

可以在github下载,下载地址:https://github.com/nakupanda/bootstrap3-dialog

也可以在vs的NuGet搜索bootstrap-dialog下载

2.新建一个mvc项目,命名为BootstrapDialog,通过NuGet搜索bootstrap-dialog下载bootstrap3-dialog,将添加如下文件

3.在App_Start文件下的BundleConfig中添加绑定,如下

4.在Hone控制器中添加DialogDemo方法,并添加DialogDemo试图用来展示

5.DialogDemo界面代码如下:

@{
ViewBag.Title = "DialogDemo";
} <h2>DialogDemo</h2>
<button class="btn btn-success" id="alert">BootstrapDialog.alert()</button>
<button class="btn btn-primary" id="show">BootstrapDialog.show()</button>
<button class="btn btn-danger" id="confirm">BootstrapDialog.confirm()</button>
<button class="btn btn-primary" id="load">BootstrapDialog 加载远程页面</button>
@section Scripts {
<script type="text/javascript">
$('#show').click(function () {
BootstrapDialog.show({
title: '提示',
message: '请输入验证码',
closeable: true,
buttons: [{
label: 'Message 1',
action: function (dialog) {
dialog.setMessage('Message 1');
}
}, {
label: '确定',
action: function (dialog) {
dialog.close();
}
}]
});
});
$('#alert').click(function () {
BootstrapDialog.alert({
type: BootstrapDialog.TYPE_WARNING,
title: '提示',
message: "系统错误!",
closeable: true,
buttonLabel: "确定"
});
});
$('#confirm').click(function () {
BootstrapDialog.confirm(
{
title: '删除提示',
message: '是否确定删除?',
type: BootstrapDialog.TYPE_WARNING,
closable: true,
draggable: true,
btnCancelLabel: '取消',
btnOKLabel: '删除', // <-- Default value is 'OK',
btnOKClass: 'btn-warning',
callback: function (result) {
if (result) {
$.ajax({
type: "POST",
url: "/Admin/SMS/Delete",
data: { id: id },
dataType: "json",
success: function (data) {
if (data.result == true) {
//
}
else {
BootstrapDialog.alert({
type: BootstrapDialog.TYPE_WARNING,
title: '提示',
message: data.message,
buttonLabel: "确定"
});
}
}
});
}
}
});
}); $("#load").click(function () {
BootstrapDialog.show({
title: '加载远程页面',
message: function (dialog) {
var $message = $('<div></div>');
var pageToLoad = dialog.getData('pageToLoad');
$message.load(pageToLoad);
return $message;
},
size: BootstrapDialog.SIZE_WIDE,
cssClass: "fade",
closeable: true,
data: {
'pageToLoad': '/Home/Load?msg=' + '我来自遥远的地方...'
}
});
});
</script>
}

6.Home控制器Load方法

public PartialViewResult Load(string msg)
{
return PartialView("LoadPartial", msg);
} view: @model string
<h2>这是远程加载的局部页</h2>
<p>@Model</p>

7.封装BootstrapDialog

function ShowDailog(title,url,success) {
BootstrapDialog.show({
title: title,
type: BootstrapDialog.TYPE_DEFAULT,
size: BootstrapDialog.SIZE_WIDE,
cssClass: "fade",
closeable: true,
message: function (dialog) {
var $message = $('<div></div>');
var pageToLoad = dialog.getData('pageToLoad');
$message.load(pageToLoad);
return $message;
},
data: {
'pageToLoad': url,
},
buttons: [{
label: '<i class="fa fa-close"></i> 取消',
action: function (dialog) {
dialog.close();
}
}, {
label: '<i class="fa fa-check"></i> 确定',
cssClass: 'btn btn-primary',
action: function (dialog) {
success(dialog);
}
}]
});
}

8.调用封装的ShowDailog

function AddMemberSales(t) {
var $this = $(t);
var type = @((int)PositionType.Member);
var parentId =$this.data('key');
var url = '@Url.Action("AddSalesPerson","PersonStruct")?type=' + type + '&parentId=' + parentId;
ShowDailog('添加销售人员', url,
function (dailog) {
var data = $('#team').serialize();
$.ajax({
type: "POST",
url: "@Url.Action("AddSalesPerson", "PersonStruct")",
data: data,
dataType: "json",
success: function (result) {
if (result.Succeeded) {
toastr.success("添数据成功!")
setTimeout(function () {
//self.location.reload(true);
toastr.clear();
}, );
$("#squadMemberTmpl").tmpl(result.ReturnValue).insertBefore($this); }
else {
toastr.error(result.ErrorMessage)
}
},
error: function () {
toastr.error('未知异常导致请求失败,请重试.')
}
});
dailog.close();
});
}

BootstrapDialog模态框的更多相关文章

  1. bootstrap3-dialog:更强大、更灵活的模态框(封装好的模态框)

    用过bootstrap框架的同学们都知道,bootstrap自带的模态框用起来很不灵活,可谓鸡肋的很.但nakupanda开源作者封装了一个更强大.更灵活的模态框——bootstrap3-dialog ...

  2. bootstrap模态框和select2合用时input无法获取焦点(转)

    在bootstrap的模态框里使用select2插件,会导致select2里的input输入框没有办法获得焦点,没有办法输入. 解决方法: 1. 把页面中的  tabindex="-1&qu ...

  3. bootstrap3-dialog:更强大、更灵活的模态框

    用过bootstrap框架的同学们都知道,bootstrap自带的模态框用起来很不灵活,可谓鸡肋的很.但nakupanda开源作者封装了一个更强大.更灵活的模态框——bootstrap3-dialog ...

  4. js控制Bootstrap 模态框(Modal)插件

    js控制Bootstrap 模态框(Modal)插件 http://www.cnblogs.com/zzjeny/p/5564400.html

  5. Bootstrap模态框按钮

    1.触发模态框弹窗的代码 这里复制了一段Bootstrap模态框的代码 <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <but ...

  6. boostrap 模态框

    <div class="modal fade" id="myModal" tabindex="-1" role="dialo ...

  7. 解决bootstrap模态框内输入框无法获取焦点

    bootstrap 模态框中的input标签在某些情况下会无法获取焦点. 最终解决方法:去除模态框的 tabindex="-1" 属性即可

  8. 使用RequireJs和Bootstrap模态框实现表单提交

    下面我将使用requirejs结合模态框实现三五行代码部署表单提交操作. 传统开发思路如下:

  9. 使用js实现显示系统当前时间并实现倒计时功能并触发模态框(遮罩)功能

    常常在我们的网页中需要倒计时来触发一些函数,例如遮罩等,在本项目中,通过使用jquery,bootstrap,实现了显示系统当前时间,并且实现了倒计时的功能,倒计时实现后将会弹出模态框(遮罩层).模态 ...

随机推荐

  1. java流与文件的操作 文件加密

    课后作业 1,源代码 import java.io.*; import java.nio.file.*; import java.nio.file.attribute.BasicFileAttribu ...

  2. win系统安装node出现这个2503和2502解决办法

    一: 今天在公司的新电脑要安装appium,所以要搭建appium的环境,所以在安装到node的时候,出现了内部错误2503和2502,安装中断. 这种错误可能是权限不足导致,一般“.exe”程序可以 ...

  3. 【codeforces 496E】Distributing Parts

    [题目链接]:http://codeforces.com/contest/496/problem/E [题意] 给你n个歌曲; 每个歌曲有一个需要声音的区间li,ri; 然后给你m个人; 每个人也有一 ...

  4. Spring学习总结(14)——Spring10种常见异常解决方法

    在程序员生涯当中,提到最多的应该就是SSH三大框架了.作为第一大框架的Spring框架,我们经常使用. 然而在使用过程中,遇到过很多的常见异常,我在这里总结一下,大家共勉. 一.找不到配置文件的异常 ...

  5. fileOP

    public void getFileDir(String filePath) { try{ this.tv.setText("当前路径:"+filePath);// 设置当前所在 ...

  6. hive导入导出数据案例

    查询数据: use ods;set /user.password=ODS-SH;select * from base_cdma_all limit 10; use tag_bonc;select * ...

  7. duplicate报ORA-01017权限问题

    duplicate报ORA-01017权限问题   环境: OS:RedHat EnterPrise Linux 5.8 x64 Cluster:Oracle Grid 11.2.0.4 Databa ...

  8. TYVJ 1340 折半暴搜+二分

    思路: 1. 这 题 不卡常过不去啊-- (先加一个random_shuffle) 首先 我们可以折半 搜这一半可以到达的重量 sort一遍 然后搜另一半 对于路程中每一个解 我们可以二分前一半中加这 ...

  9. Debian9.5下sftp配置和scp用法

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.如果只想让某些用户只能使用 sftp 操作文件, 而不能通过ssh进行服 ...

  10. laravel模板机制

    @extends('layouts.master') @section('title', 'Page Title') @section('sidebar') @parent <p>This ...