如何让javascript在Asp.Net中注入到我的布局中的视图中进行渲染
How to get javascript to render in views injected into my layout in Asp.Net?
我正在创建一个简单的网站,使用Asp.NetMVC 4中的单一布局。布局的头部有Javascript标签,如下所示:
<script src=@Url.Content("/Scripts/jquery.min.js")></script>
<script src=@Url.Content("/Scripts/jquery.dropotron.min.js")></script>
<script type="text/javascript" src=@Url.Content("/Scripts/jquery.slidertron.min.js")></script>
<script src=@Url.Content("/Scripts/skel.min.js")></script>
<script src=@Url.Content("/Scripts/skel-layers.min.js")></script>
<script src=@Url.Content("/Scripts/init.js")></script>
当我第一次加载网站/页面时,这会很好。
该项目使用典型的URL/Home/Index路由作为默认路由,但当我通过在URL中添加"/Home/Inindex"来显式调用该路由时,页面将在没有任何样式的情况下呈现。除了主页之外的任何页面在加载时都是不带样式的,即使它们都只是在头部使用相同的Javascript注入到相同布局中的视图。
有什么想法为什么Javascript没有在我的所有视图中呈现吗?
唯一真正导致这种情况的是使用相对URL来引用文件。当只加载没有路径的域时,类似Scripts/foo.js
的引用将在URL:http://domain.com/Scripts/foo.js
处正确检索。然而,对于像/Home/Index
这样的路径,URL就会变成http://domain.com/Home/Index/Scripts/foo.js
,这显然是不正确的。
然而,在您的情况下,您并没有使用完全相对的路径,因为每个路径都以/
为前缀,应该使其始终从站点根目录引用,而不管当前的URL路径如何。如果我们假设你直接从你的项目中复制并粘贴了这个,我有点不知道你怎么会遇到这个问题。首先,验证您在这里发布的代码实际上是您布局中的代码。然后,确保视图使用了正确的布局,并且您已经做了一些愚蠢的事情,比如保存了文件,以防最近进行了更改。除此之外,请尝试在浏览器中进行硬刷新和/或清除缓存,以确保它不会简单地加载过时的页面。
相关文章:
- 骨干木偶-布局视图僵尸
- 如何让javascript在Asp.Net中注入到我的布局中的视图中进行渲染
- Kendo UI窗口不会打开具有布局的视图
- 测试提线木偶布局视图中是否缺少区域元素
- 如何在钛(合金)图像视图中使用后置布局
- 正确连接主干.将Marinette布局视图连接到应用程序
- 主干木偶布局视图无法正常工作
- Ember.js - 一个视图多个布局(已登录/未登录)
- ASP 网格视图在打开模式对话框时更改布局
- Aurelia:调整大小/布局更改视图事件
- 在木偶布局中维护一堆木偶项目视图
- 木偶嵌套布局视图未呈现,显示错误“元素必须存在于 DOM 中”
- 在ui路由器中,从较低状态覆盖处于较高状态的布局视图会导致ui视图为空
- 无法在骨干Marionette中扩展布局视图
- 当表单是木偶布局视图时,序列化表单数据
- 无法读取property 'render'在尝试呈现布局视图时未定义的
- 触发器从marionitte的布局视图触发时多次调用被调用的函数
- 如何使用木偶嵌套布局视图
- SailsJS将对象/变量传递到布局视图的正确方式
- 木偶嵌套布局视图 - 解析模型