我需要获取基本路径,因为当前我的应用程序托管为以下子站点:

www.example.com/site1/site2/


在site2中设置了IIS应用程序的位置,但是我的剃刀页和母版页引用的是以下内容:

 <link href="/Assets/css/styles.css" rel="stylesheet">


在这种情况下,应为:

 <link href="/site1/site2/Assets/css/styles.css" rel="stylesheet">


我也有类似的图像:

 <img src="/Assets/images/logo.jpg" />


如何使它以动态方式工作,而不必在某个地方对子目录进行硬编码?

最佳答案

您应该使用内置的助手来获取内容的相对路径。

 <link href="@Url.Content("~/Assets/css/styles.css")" rel="stylesheet">


对于托管在www.domain.com/site/subdirectory的网站,以上内容将呈现为

<link href="/site/subdirectory/Assets/css/styles.css" rel="stylesheet">


而且,如果您移动了站点或更改了根路径,则不必更改标记代码。

更多示例:

图片

<img src="@Url.Content("~/Assets/images/logo.jpg")" />


Java脚本

<script type="text/javascript" src="@Url.Content("~/Assets/Scripts/jsfile.js")"></script>

关于c# - 使用子目录时Javascript和CSS文件不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16090861/

10-10 22:56