BootstrapDialog模态框
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模态框的更多相关文章
- bootstrap3-dialog:更强大、更灵活的模态框(封装好的模态框)
用过bootstrap框架的同学们都知道,bootstrap自带的模态框用起来很不灵活,可谓鸡肋的很.但nakupanda开源作者封装了一个更强大.更灵活的模态框——bootstrap3-dialog ...
- bootstrap模态框和select2合用时input无法获取焦点(转)
在bootstrap的模态框里使用select2插件,会导致select2里的input输入框没有办法获得焦点,没有办法输入. 解决方法: 1. 把页面中的 tabindex="-1&qu ...
- bootstrap3-dialog:更强大、更灵活的模态框
用过bootstrap框架的同学们都知道,bootstrap自带的模态框用起来很不灵活,可谓鸡肋的很.但nakupanda开源作者封装了一个更强大.更灵活的模态框——bootstrap3-dialog ...
- js控制Bootstrap 模态框(Modal)插件
js控制Bootstrap 模态框(Modal)插件 http://www.cnblogs.com/zzjeny/p/5564400.html
- Bootstrap模态框按钮
1.触发模态框弹窗的代码 这里复制了一段Bootstrap模态框的代码 <h2>创建模态框(Modal)</h2> <!-- 按钮触发模态框 --> <but ...
- boostrap 模态框
<div class="modal fade" id="myModal" tabindex="-1" role="dialo ...
- 解决bootstrap模态框内输入框无法获取焦点
bootstrap 模态框中的input标签在某些情况下会无法获取焦点. 最终解决方法:去除模态框的 tabindex="-1" 属性即可
- 使用RequireJs和Bootstrap模态框实现表单提交
下面我将使用requirejs结合模态框实现三五行代码部署表单提交操作. 传统开发思路如下:
- 使用js实现显示系统当前时间并实现倒计时功能并触发模态框(遮罩)功能
常常在我们的网页中需要倒计时来触发一些函数,例如遮罩等,在本项目中,通过使用jquery,bootstrap,实现了显示系统当前时间,并且实现了倒计时的功能,倒计时实现后将会弹出模态框(遮罩层).模态 ...
随机推荐
- POJ-3436 ACM Computer Factory 最大流 为何拆点
题目链接:https://cn.vjudge.net/problem/POJ-3436 题意 懒得翻,找了个题意. 流水线上有N台机器装电脑,电脑有P个部件,每台机器有三个参数,产量,输入规格,输出规 ...
- 使用yum配置lnmp环境(CentOS7.6)
一.安装版本详情 Server: MariaDB Server version: 5.5.60-MariaDB MariaDB Server [root@ln-125 ~]# cat /etc/red ...
- 关闭linux终端进程
[root@linux-node1 ~]# w 22:16:45 up 24 days, 24 min, 2 users, load average: 0.28, 0.17, 0.15 USER TT ...
- C语言修改文件某部分内容
两种方法 1.全部读入内存 修改后重新存入文件 2.边读边写到另一新建文件 要修改的部分修改后存入新建文件 其他部分原封不动写入 写完删掉原先文件 将这个新的改为删掉那个的名字 方法一 读入内存修改 ...
- 【BZOJ 1089】[SCOI2003]严格n元树
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 设fi表示深度为i的树个数,si是fi的前缀和,即si为深度不超过i树的个数. 那么si=s[i-1]^n + 1 就是说 先选一个 ...
- Linux入门基础(一)
UNIX/Linux 本身是没有图形界面的,我们通常在 UNIX/Linux 发行版上看到的图形界面实际都只是运行在 Linux 系统之上的一套软件XFree86,现在则是 xorg(X.Org),而 ...
- Solr4.10.2集成Nutch1.9与自带UI界面使用
Solr4.10.2集成Nutch1.9与自带UI界面使用 一.Solr4.10.2与Nutch1.9集成 环境:Solr4.10.2已经配置在Tomcat上 Solr的Tomcat配置详见Solr4 ...
- 洛谷 P2744 [USACO5.3]量取牛奶Milk Measuring
P2744 [USACO5.3]量取牛奶Milk Measuring 题目描述 农夫约翰要量取 Q(1 <= Q <= 20,000)夸脱(夸脱,quarts,容积单位——译者注) 他的最 ...
- 自己封装js组件 - 初级
2天前抱着试试看的态度注册了此神博,心血来潮呕心沥血写了一篇关于vue 自定义组件的小文章 尼玛果然一个评论的没有!果然毫无人气!(当然了我这文章内容有限和大神们的比起来简直是粗制滥造...)索性我就 ...
- 获取当前最上层controller
- (UIViewController *)topViewController { UIViewController *resultVC; resultVC = [self _topViewContr ...