避免将虚拟目录添加到ASP.NET 5应用程序的路径中

本文关键字:NET 应用程序 路径 ASP 虚拟 添加 | 更新日期: 2023-09-27 18:25:25

在ASP.NET 5 MVC视图上,我有以下内容:

<header style="background-image: '/assets/poster.jpg')">

文件夹"assets"在wwwroot中。。。

这很好,但当我在虚拟目录下的服务器上主持项目时,我需要将虚拟目录名添加到路径中:

<header style="background-image: '/virtualdirectory/assets/poster.jpg')">

我该如何避免这种情况?

避免将虚拟目录添加到ASP.NET 5应用程序的路径中

有趣的是,这将工作

<img src='~/assets/poster.jpg'/>

但是,这不会

<div style="width:990px; height:99px; background-image: url('~/assets/poster.jpg')"> </div>

对于内联样式,可以使用Url.Content-helper方法生成应用程序绝对路径。

下面的代码应该可以工作。

<div style="width: 100px; height: 100px; 
            background-image:url('@Url.Content("~/assets/poster.jpg")')"></div>

如果你想把它放在css类中,你可以简单地使用相对路径。

.myTest {
    background-image: url('../assets/gravatar.png');
     width:100px;height: 50px;
}

假设您的css文件位于目录(Ex:css)下,该目录是assets文件夹的同级目录。