loy*_*low 1 c# asp.net asp.net-mvc asp.net-mvc-4
我需要获取基本路径,因为目前我的应用程序作为子站点托管,如:
www.example.com/site1/site2/
Run Code Online (Sandbox Code Playgroud)
我的IIS应用程序在site2中设置的位置,但我的剃刀页面和母版页引用了以下内容:
<link href="/Assets/css/styles.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
在这种情况下应该是这样的:
<link href="/site1/site2/Assets/css/styles.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
我也有像这样的图像:
<img src="/Assets/images/logo.jpg" />
Run Code Online (Sandbox Code Playgroud)
如何让它以动态方式工作,以便我不必在某个地方对子目录进行硬编码?
您应该使用内置帮助程序来获取内容的相对路径.
<link href="@Url.Content("~/Assets/css/styles.css")" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
对于托管的网站www.domain.com/site/subdirectory,以上内容将呈现给
<link href="/site/subdirectory/Assets/css/styles.css" rel="stylesheet">
Run Code Online (Sandbox Code Playgroud)
而且,如果您移动网站或更改根路径,则无需更改标记代码.
更多例子:
图片
<img src="@Url.Content("~/Assets/images/logo.jpg")" />
Run Code Online (Sandbox Code Playgroud)
使用Javascript
<script type="text/javascript" src="@Url.Content("~/Assets/Scripts/jsfile.js")"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
513 次 |
| 最近记录: |