asp.net-mvc – ASP.NET MVC中的CSS和Javascript相对路径混乱

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC中的CSS和Javascript相对路径混乱前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的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路径,以便每个视图都可以工作,无论该视图的URL是多么深入。

附录:

看来,对于Index视图,任何路径都会工作,奇怪的是:

<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路径,它们适用于所有页面

附录二:

原来只是jqgrid javascript文件(而不是jquery文件)的问题,显然是在该文件里面引用其他javascript文件并被困惑:

<script type="text/javascript" src="<%= Url.Content ("~/js/jquery.jqGrid.js") %>"></script>

解决方法

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

可以找到例子here

原文链接:https://www.f2er.com/aspnet/253327.html

猜你在找的asp.Net相关文章