避免将虚拟目录添加到 ASP.NET 5 应用程序的路径
Avoid adding virtual directory to path on an ASP.NET 5 application
在 ASP.NET 5 MVC 视图中,我有以下内容:
<header style="background-image: '/assets/poster.jpg')">
文件夹 "assets" 位于 wwwroot 中...
这很好用,但是当我在服务器上的虚拟目录下托管项目时,我需要将虚拟目录名称添加到路径中:
<header style="background-image: '/virtualdirectory/assets/poster.jpg')">
我怎样才能避免这种情况?
有趣的是,这会起作用
<img src='~/assets/poster.jpg'/>
但是,这不会
<div style="width:990px; height:99px; background-image: url('~/assets/poster.jpg')"> </div>
对于您的内联样式,您可以使用 Url.Content 辅助方法来生成应用程序绝对路径。
下面的代码应该可以工作。
<div style="width: 100px; height: 100px;
background-image:url('@Url.Content("~/assets/poster.jpg")')"></div>
如果你想在cssclass中,你可以简单地使用相对路径。
.myTest {
background-image: url('../assets/gravatar.png');
width:100px;height: 50px;
}
假设您的 css 文件位于 assets
文件夹的同级目录(例如:css)下。
在 ASP.NET 5 MVC 视图中,我有以下内容:
<header style="background-image: '/assets/poster.jpg')">
文件夹 "assets" 位于 wwwroot 中...
这很好用,但是当我在服务器上的虚拟目录下托管项目时,我需要将虚拟目录名称添加到路径中:
<header style="background-image: '/virtualdirectory/assets/poster.jpg')">
我怎样才能避免这种情况?
有趣的是,这会起作用
<img src='~/assets/poster.jpg'/>
但是,这不会
<div style="width:990px; height:99px; background-image: url('~/assets/poster.jpg')"> </div>
对于您的内联样式,您可以使用 Url.Content 辅助方法来生成应用程序绝对路径。
下面的代码应该可以工作。
<div style="width: 100px; height: 100px;
background-image:url('@Url.Content("~/assets/poster.jpg")')"></div>
如果你想在cssclass中,你可以简单地使用相对路径。
.myTest {
background-image: url('../assets/gravatar.png');
width:100px;height: 50px;
}
假设您的 css 文件位于 assets
文件夹的同级目录(例如:css)下。