asp.net-mvc - ASP.NET MVC中的CSS和Javascript相对路径困惑

标签 asp.net-mvc

我的JavaScript路径在此页面上有效:
http://localhost:53049/

但不在此页面上:
http://localhost:53049/Home/Messages

原因是相对路径不同,前者需要(“js / ...”),后者需要(“../../ js / ...”)。

我将JavaScript包含在Site.Master文件中:

<script type="text/javascript" src="js/jquery.jqGrid.js"></script>
<script type="text/javascript" src="~/js/jquery.jqGrid.js"></script>
<script type="text/javascript" src="<%= this.ResolveClientUrl("~/Scripts/jquery-1.2.6.js") %>"></script>

我如何解决这种相对路径的困惑问题,即ASP.NET MVC中在Site.Master中设置CSS / Javascript路径的最佳实践是什么,以便无论该 View 的URL发生多深,它们都适用于每个 View 。 。

添加:

似乎对于索引 View ,奇怪的是任何路径都可以工作:
<script type="text/javascript" src="/Scripts/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-1.2.6.js"></script>
<script type="text/javascript" src="../../../Scripts/jquery-1.2.6.js"></script>

但是对于其他任何页面(URL较深的页面),这些都不起作用。

这里发生了什么?我们如何在Site.Master中设置一次Javascript路径,并且它们适用于所有页面?

ADDENUM II:

事实证明,这只是jqgrid javascript文件(不是jquery文件)的问题,显然在该文件中,它引用了其他javascript文件并感到困惑:
<script type="text/javascript" src="<%= Url.Content ("~/js/jquery.jqGrid.js") %>"></script>

最佳答案

您还可以使用Url.Content方法调用来确保正确设置了路径。

可以找到示例here

关于asp.net-mvc - ASP.NET MVC中的CSS和Javascript相对路径困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/435769/

相关文章:

javascript - Javascript MVC 的自动操作结果调用

c# - 通过javascript设置iframe的用户代理

c# - ASP.NET MVC3 从部分 View 上传文件(并填写模型中的相应字段)

html - MVC 中的布局在页面顶部留有空白

asp.net - 允许在 ASP.NET MVC 表单上使用多个按钮的最佳方法是什么?

javascript - CKEditor 问题 : How to apply custom css to CKEditor

c# - MVC : Add output cache for all actions

asp.net-mvc - 如何使用 JMeter 在登录页面的负载测试中传递参数

javascript - 如何在 asp.net 模型中调用 vanilla js 中的服务

asp.net-mvc - C# Razor 表单 - 插入 Angular 属性