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. spring慕课网

    资源链接 http://spring.io/ http://projects.spring.io/spring-framework/ Spring是什么? Spring是一个开源的轻量级的应用开发框架 ...

  2. wget 升级

    漏洞描述: Wget是GNU计划开发的一套用于在网络上进行下载的自由软件,是Unix/Linux系统最常用的下载工具,支持通过HTTP.HTTPS以及FTP这三个最常见的TCP/IP协议下载. Wge ...

  3. 对于树的序列化,用了stream,很好

    https://leetcode.com/problems/serialize-and-deserialize-binary-tree/?tab=Description 下面这个解法里面的C++部分很 ...

  4. ios 将随意对象存进数据库

    要将一个对象存进数据库的blob字段,最好先转为NSData.一个对象要遵守NSCoding协议,实现协议中对应的方法,才干转成NSData. NSData *statusData = [NSKeye ...

  5. legend---九、js的核心是什么

    legend---九.js的核心是什么 一.总结 一句话总结:js里面一切东西都是对象,包括数组,字符串,所以你就知道数组啊,对象啊,的很多东西怎么用了 1.js如何合并两个数组? concat,ar ...

  6. vue组件的一些知识理解

    组件我们在项目中会很常用到,说下自己在学习过程中的理解,有关 组件初始化顺序,组件为什么data是function,组件的生命周期 1. Vue.component('', {})  注册全局组件,组 ...

  7. 在shell脚本中使用代理

    设置所有的代理走socks5 export ALL_PROXY="socks5://127.0.0.1:1080" 取消代理 unset ALL_PROXY  

  8. OpenGL编程逐步深入(十)索引绘制

    准备知识 OpenGl提供了一些绘图函数.到目前为止我们使用的glDrawArrays绘图函数属于"顺序绘制".这意味着顶点缓冲区从指定的偏移量开始被扫描,每X(点为1,直线为2等 ...

  9. ListView中嵌套GridView点击事件

    做一个项目时,需要在ListView中嵌套GridView,因为ListView的每个条目中不一定出现GridView,那么问题来了,添加GridView的Item的点击事件后,有GridView出现 ...

  10. HTML5按键打开摄像头和拍照

    HTML5实现按键打开摄像头和拍照 步骤: 1.创建一个打开摄像头按钮的标签.video标签.拍照的按钮标签.画布 2.实现打开摄像头的功能 3.实现拍照功能   具体实现代码: <!DOCTY ...