Bootstrap被封装的弹层


Posted in Javascript onJuly 20, 2016

对于Bootstrap的弹层,插件有很多,今天主要用的是它自带的功能,通过bootstrap提供的模式窗口来实现的,而小编主要对使用方法进行了封装,开发人员可以自己动态传入弹层的HTML内容,可以控制按钮的显示与隐藏,用户通过MVC扩展方法对弹层进行生成,然后使用A标签进行调用.

具体使用很简单

@Html.GenerateDialog("测试",true, 
@<div>
<form action="/home/index">hello world!</form>
</div>)
<a data-toggle='modal' data-target='#LindModal'>测试弹层</a>

上面代码分为两块,第一块MVC扩展方法,主要用于在页面上输出弹层的代码段,第二段是A标签的调用,主要用于绑定上面的弹层控件.

下面主要看一下弹层的扩展方法,它使用了Func<string, HelperResult>这个委托,用来接收前台的HTML代码段,这对于开发人员是个福音,你不用关心如何去拼接HTML代码了,而是直接把前台给我们的代码复制过来即可.

弹层方法

#region Bootstrap弹层
/// <summary>
/// bootstrap风格的弹层
/// </summary>
/// <param name="htmlHelper"></param>
/// <param name="isBtn"></param>
/// <param name="result"></param>
/// <returns></returns>
public static MvcHtmlString GenerateDialog(this HtmlHelper htmlHelper, bool isBtn, Func<string, HelperResult> result)
{
return GenerateDialog(htmlHelper, "详细", isBtn, result);
}
/// <summary>
/// bootstrap风格的弹层
/// </summary>
/// <param name="htmlHelper"></param>
/// <param name="title"></param>
/// <param name="isBtn"></param>
/// <param name="result"></param>
/// <returns></returns>
public static MvcHtmlString GenerateDialog(this HtmlHelper htmlHelper, string title, bool isBtn, Func<string, HelperResult> result)
{
string templete = @"<div class='modal fade' id='LindModal' tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true'>
<div class='modal-dialog'>
<div class='modal-content'>
<div class='modal-header'>
<button type='button' class='close'
data-dismiss='modal' aria-hidden='true'>
×
</button>
<h4 class='modal-title' id='myModalLabel'>"+title+
@"</h4>
</div>
<div class='modal-body' id='dialogContent'>
" + result.Invoke(null) + "</div>";
if (isBtn)
{
templete +=
@"<div class='modal-footer'>
<button type='button' class='btn btn-warning'
data-dismiss='modal'>
关闭
</button>
<button type='button' class='btn btn-primary' id='subBtn'>
提交
</button>
</div>";
}
templete +=
@"</div>
</div>
</div>
<script>
$('#subBtn').click(function(){$('#dialogContent form').submit();});
</script>";
return MvcHtmlString.Create(templete);
}
#endregion

而运行的效果是我们可以想到的

Bootstrap被封装的弹层

以上所述是小编给大家介绍的Bootstrap被封装的弹层,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery ajax请求实例深入解析
Nov 26 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
May 14 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
微信小程序 使用picker封装省市区三级联动实例代码
Oct 28 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
Mar 17 Javascript
JavaScript数据结构之二叉树的查找算法示例
Apr 13 Javascript
用 Vue.js 递归组件实现可折叠的树形菜单(demo)
Dec 25 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
JavaScript ES6箭头函数使用指南
Dec 30 Javascript
判断js数据类型的函数实例详解
May 23 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
JavaScript复制变量三种方法实例详解
Jan 09 Javascript
必备的JS调试技巧汇总
Jul 20 #Javascript
JavaScript的==运算详解
Jul 20 #Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 #Javascript
javascript中数组和字符串的方法对比
Jul 20 #Javascript
js简单实现图片延迟加载的方法
Jul 19 #Javascript
JS实现输入框提示文字点击时消失效果
Jul 19 #Javascript
JavaScript新增样式规则(推荐)
Jul 19 #Javascript
You might like
PHP 页面跳转到另一个页面的多种方法方法总结
2009/07/07 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
ThinkPHP开发--使用七牛云储存
2017/09/14 PHP
原型方法的不同写法居然会影响调试的解决方法
2007/03/08 Javascript
DOM 中的事件处理介绍
2012/01/18 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
2013/11/19 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
解决微信内置浏览器返回上一页强制刷新问题方法
2017/02/05 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
详解TypeScript+Vue 插件 vue-class-component的使用总结
2019/02/18 Javascript
js实现鼠标拖拽缩放div实例代码
2019/03/25 Javascript
JavaScript 自定义html元素鼠标右键菜单功能
2019/12/02 Javascript
vue 通过 Prop 向子组件传递数据的实现方法
2020/10/30 Javascript
vuex的数据渲染与修改浅析
2020/11/26 Vue.js
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
通过数据库向Django模型添加字段的示例
2015/07/21 Python
深入解析Python中的集合类型操作符
2015/08/19 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
python实现聚类算法原理
2018/02/12 Python
Python实现Dijkstra算法
2018/10/17 Python
Django组件cookie与session的具体使用
2019/06/05 Python
python-Web-flask-视图内容和模板知识点西宁街
2019/08/23 Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
2020/09/23 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
环保倡议书范文
2014/05/12 职场文书
解除财产保全担保书
2014/05/20 职场文书
酒店端午节活动方案
2014/08/26 职场文书
2015幼儿园新学期寄语
2015/02/27 职场文书
小型婚礼主持词
2015/06/30 职场文书
MySQL基础(一)
2021/04/05 MySQL