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判断div随滚动条滚动到一定位置后停止
Apr 02 Javascript
Jquery插件分享之气泡形提示控件grumble.js
May 20 Javascript
jquery引用方法时传递参数原理分析
Oct 13 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
jQuery简单实现验证邮箱格式
Jul 15 Javascript
javascript实现表单验证
Jan 29 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
分分钟玩转Vue.js组件
Oct 25 Javascript
Vue cli+mui 区域滚动的实例代码
Jan 25 Javascript
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jquery向后台提交数组的代码分析
Feb 20 jQuery
必备的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引用符&amp;的用法详细解析
2013/08/22 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
javascript中的对象和数组的应用技巧
2007/01/07 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
JQuery获取元素文档大小、偏移和位置和滚动条位置的方法集合
2010/01/12 Javascript
用innerhtml提高页面打开速度的方法
2013/08/02 Javascript
动态载入js提高网页打开速度的方法
2014/07/04 Javascript
jQuery功能函数详解
2015/02/01 Javascript
在Node.js应用中使用Redis的方法简介
2015/06/24 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
[01:48]帕吉至宝加入游戏,遗迹战场现“千劫神屠”
2018/04/07 DOTA
Python3 Random模块代码详解
2017/12/04 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
详解Python下Flask-ApScheduler快速指南
2018/11/04 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
手把手教你使用Python创建微信机器人
2019/04/29 Python
python3.x+pyqt5实现主窗口状态栏里(嵌入)显示进度条功能
2019/07/04 Python
对Python中画图时候的线类型详解
2019/07/07 Python
Python高级property属性用法实例分析
2019/11/19 Python
浅谈Pycharm最有必要改的几个默认设置项
2020/02/14 Python
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
见习报告的格式
2014/11/04 职场文书
运动会闭幕词
2015/01/28 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
2016年秋季趣味运动会开幕词
2016/03/04 职场文书
靠谱的活动总结
2019/04/16 职场文书