asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了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

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – ASP.NET MVC中的CSS和Javascript相对路径混乱全部内容,希望文章能够帮你解决asp.net-mvc – ASP.NET MVC中的CSS和Javascript相对路径混乱所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。