.NET MVC中关于ScriptBundle导致jquery 模态框未正常执行的问题 30
我用的是VS2013.NETMVC,bootstrap3,jquery2结果我在使用modal的过程中,发现一个很困惑的问题:母页中已加入了:@Scripts.Rende...
我用的是VS2013 .NET MVC ,bootstrap 3 ,jquery 2
结果我在使用modal的过程中,发现一个很困惑的问题:
母页中已加入了:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
关于ScriptBundle是这么写的
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
我想上面都没问题。
开个测试页,Controll 就不写了,Razor页添加如下:
<!--Button-->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> 开始演示模态框</button>
<!-- Modal -->
<div class="modal fade" id="myModal" 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">
模态框(Modal)标题
</h4>
</div>
<div class="modal-body">
点击关闭按钮检查事件功能。
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
关闭
</button>
<button type="button" class="btn btn-primary">
提交更改
</button>
</div>
</div>
</div>
</div>
<script>
$('#myModal').on('show.bs.modal', function () {
alert('嘿,我听说您喜欢模态框...');
})
</script>
运行下,居然没有响应alert();
后来试来试去,用百度的CDN资源试一试,页面中加入了:
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
TMD 结果就有反应了,这是为什么?
ScriptBundle 难道是会压缩出错吗?哪个高手能帮我解决这个问题啊?
更改一个小错误 ,脚本修改如下
<script>
$(document).ready(function () {
$('#myModal').on('show.bs.modal', function () {
alert('嘿,我听说您喜欢模态框...');
})
});
</script> 展开
结果我在使用modal的过程中,发现一个很困惑的问题:
母页中已加入了:
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
关于ScriptBundle是这么写的
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
我想上面都没问题。
开个测试页,Controll 就不写了,Razor页添加如下:
<!--Button-->
<button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal"> 开始演示模态框</button>
<!-- Modal -->
<div class="modal fade" id="myModal" 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">
模态框(Modal)标题
</h4>
</div>
<div class="modal-body">
点击关闭按钮检查事件功能。
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">
关闭
</button>
<button type="button" class="btn btn-primary">
提交更改
</button>
</div>
</div>
</div>
</div>
<script>
$('#myModal').on('show.bs.modal', function () {
alert('嘿,我听说您喜欢模态框...');
})
</script>
运行下,居然没有响应alert();
后来试来试去,用百度的CDN资源试一试,页面中加入了:
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
TMD 结果就有反应了,这是为什么?
ScriptBundle 难道是会压缩出错吗?哪个高手能帮我解决这个问题啊?
更改一个小错误 ,脚本修改如下
<script>
$(document).ready(function () {
$('#myModal').on('show.bs.modal', function () {
alert('嘿,我听说您喜欢模态框...');
})
});
</script> 展开
展开全部
你的jquery文件名叫什么?
你改成类似于下面的形式
jquery-*.js
星号是版本号
如:jquery-1.7.1.js
你改成类似于下面的形式
jquery-*.js
星号是版本号
如:jquery-1.7.1.js
追问
感谢您的回答,version 是没问题的,我找到问题所在了,是我的ScriptRender 对于jquery的引入必须在前,前后位置的关系。
把jquery 放在中,而不是放在页面的尾部,原先对VS2013自动生成代码没有疑问,这下要考虑了。
追答
你可以在浏览器中查看生成的代码,以确定有没有引用成功。你说的和位置有关系,还真没遇到过。我也在其它位置引用过,可以成功。或许是有其它的细节没注意吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询