1

我需要获取基本路径,因为目前我的应用程序托管为一个子站点,例如:

www.example.com/site1/site2/

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

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

在这种情况下,它应该是这样的:

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

我也有类似的图像:

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

我怎样才能让它以动态的方式工作,这样我就不必在某处对子目录进行硬编码?

4

1 回答 1

5

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

 <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")" />

Javascript

<script type="text/javascript" src="@Url.Content("~/Assets/Scripts/jsfile.js")"></script>
于 2013-04-18T18:53:31.737 回答