首页 新闻 会员 周边

MVC页面添加js和css棘手问题!!!

0
悬赏园豆:40 [已解决问题] 解决于 2017-10-10 16:33

最近刚做一个MVC项目,由于之前一直是ASP.NET,所以对这个也不太熟悉,目前有个问题不好解决,网上也没找到合适的办法, 请广大博友懂得或者也遇到过但解决的来给一答案指点迷津,他日小弟我飞黄腾达...不贫了,上图!

母版页:

子页:

子页中的Iframe弹出页:

目的:

在iFrame页面中需要使用一个时间插件和百度的UEditor插件  则需要引用相应的js和css,问题是,在iFrame页面中直接引用则无加载,在其父页中引用有加载但是不可用(估计是在父页引用的但是元素都在iFrame页的缘故)在三个页面中都不能使用 @Script.Rander(...)的写法注册js,提示上下文不存在Script。父页使用了母版页,iFrame页没有使用。MVC版本是4.0

问:

1. 如何在iFrame页面引用js和css?为什么这里不能引用(引用了,但是页面无加载)?

2. iFrame页面和其父页面有什么共同的东西?什么是可以相互调用的?

问题补充:

最终无奈,不使用iFrame了,单独开一个页面出来,然后一切就正常了....也是无语,为什么使用了iFrame弹出页面,js和css不能顺利加载?

如果有能解决这个问题的,还是照样送分,目前的问题就先这么着了,祝各位博友工作顺利,生活顺利!

小博RunTime的主页 小博RunTime | 初学一级 | 园豆:83
提问于:2015-09-28 17:23
< >
分享
最佳答案
0

我觉得对于无法加载的,css的话看看路径 和右键源代码查看是否和你设想的一样;js的话路径是否正确以及引用的顺序问题。

给LZ一个建议:如果使用section的话,子页最好对应的section 出现的顺序放置相关的代码。

收获园豆:40
狂风戏雪 | 菜鸟二级 |园豆:257 | 2015-09-28 23:53

就是通过浏览器没有查看到加载,页面也无效果,地址什么都对,顺序的话,换了好几个也是无效果.

小博RunTime | 园豆:83 (初学一级) | 2015-09-29 09:36
其他回答(7)
0

额~你这个代码 理论上是可以的啊,不过总感觉你的js代码在页面上放的顺序有问题~把母版页的js放到最下面试试呢~

伤心懒睡猪 | 园豆:346 (菜鸟二级) | 2015-09-28 17:30

插件的js不能放到母版页的,这只有某些页面使用该插件。

支持(0) 反对(0) 小博RunTime | 园豆:83 (初学一级) | 2015-09-28 17:42
0

问题是出在iframe吧.iframe就是另一个页面了.

吴瑞祥 | 园豆:29449 (高人七级) | 2015-09-28 17:35
0

iframe 页面中的红框标识去掉   没有引用母板页 就不用哪个括起来吧!

at小怪兽 | 园豆:760 (小虾三级) | 2015-09-28 18:00

试过啦,不行的,加不加都不行,放在前,中,后也不行

支持(0) 反对(0) 小博RunTime | 园豆:83 (初学一级) | 2015-09-28 18:04

@小博RunTime: 页面上的Layout="母板页" 必须引用母板页 才能在页面上使用母板页定义的js和css  你自己看看你的页面 什么都没引就想使用 肯定是加载不上?你自己再改改吧!

支持(0) 反对(0) at小怪兽 | 园豆:760 (小虾三级) | 2015-09-29 08:41
0

我第一次MVC的看到这样的用法,我就直接写script和引用css,而不是写在@section scripts或者什么什么里面,看着蛋疼,

感觉好复杂的样子

如此低调的男人 | 园豆:842 (小虾三级) | 2015-09-28 19:32
0

你的子页是怎样和模板页关联起来的?

幻天芒 | 园豆:37175 (高人七级) | 2015-09-29 00:33

页面中的 Layout=""  或者=null  就没关联了 ,  不加默认有母版页, 或者直接加上母版页名称.

支持(0) 反对(0) 小博RunTime | 园豆:83 (初学一级) | 2015-09-29 09:34

@小博RunTime: 我看你的子页没有Layout申明。另外,在MVC中,一般不称做模板页,可以叫布局页。另外iframe是独立页面,所以你放在@section中,是无法加载的。一定要搞清楚section和RenderSection之间的关系,是一一对应的。如果你的布局页上没有RenderSection("scripts"),那么你放在@section scripts中的内容是无法生效的。

你要想iframe中的scripts生效,那么只需要去掉@section这样的标记就好。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-09-29 10:07
0

我写MVC引用JS和CSS都是直接引用的,基本上没用过这个@section scripts,JS方面只需要注重一下引用顺序就行,楼主去掉@section scripts 直接引用试试!

晓菜鸟 | 园豆:2594 (老鸟四级) | 2015-09-29 11:47
0

 @Html.Partial("_topMenue")<!--_topMenue视图占位符-->

 

 

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2015-09-29 15:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册