当前上下文中不存在名称 'Server'
The name 'Server' does not exist in the current context
我有一个 razor 视图页面,我需要在其中检查文件是否存在,然后再尝试将其显示给用户,否则显示默认图像占位符。
下面是我写的代码
@{
if (!string.IsNullOrEmpty(@parent.Photo) && File.Exists(Server.MapPath($"~/images/parents/thumbs/@parent.Photo")))
{
<img src="~/images/parents/thumbs/@parent.Photo" class="rounded-
circle img-fluid" />
}
else
{
@: No photo
}
}
但我收到如下错误
The name 'Server' does not exist in the current context
所以我无法构建应用程序。
我尝试在视图页面上添加以下 using 语句
using System;
using System.IO;
但没区别
我的应用程序是 运行 ASP.NET-Core 3.1 windows 10
好吧 Server.MapPath
不会在 ASP.NET.Core 中退出,您应该使用 IWebHostEnvironment
界面。将 IWebHostEnvironment
注入您的视图并使用它。
@inject IWebHostEnvironment env
@{
var path = Path.Combine(env.WebRootPath, $"images/parents/thumbs/@parent.Photo"));
if (!string.IsNullOrEmpty(@parent.Photo) && File.Exists(path))
{
<img src="~/images/parents/thumbs/@parent.Photo" class="rounded-
circle img-fluid" />
}
else
{
@: No photo
}
}
有关更多信息,请阅读本文
Server.MapPath Equivalent in ASP.NET Core.
我有一个 razor 视图页面,我需要在其中检查文件是否存在,然后再尝试将其显示给用户,否则显示默认图像占位符。 下面是我写的代码
@{
if (!string.IsNullOrEmpty(@parent.Photo) && File.Exists(Server.MapPath($"~/images/parents/thumbs/@parent.Photo")))
{
<img src="~/images/parents/thumbs/@parent.Photo" class="rounded-
circle img-fluid" />
}
else
{
@: No photo
}
}
但我收到如下错误
The name 'Server' does not exist in the current context
所以我无法构建应用程序。 我尝试在视图页面上添加以下 using 语句
using System;
using System.IO;
但没区别
我的应用程序是 运行 ASP.NET-Core 3.1 windows 10
好吧 Server.MapPath
不会在 ASP.NET.Core 中退出,您应该使用 IWebHostEnvironment
界面。将 IWebHostEnvironment
注入您的视图并使用它。
@inject IWebHostEnvironment env
@{
var path = Path.Combine(env.WebRootPath, $"images/parents/thumbs/@parent.Photo"));
if (!string.IsNullOrEmpty(@parent.Photo) && File.Exists(path))
{
<img src="~/images/parents/thumbs/@parent.Photo" class="rounded-
circle img-fluid" />
}
else
{
@: No photo
}
}
有关更多信息,请阅读本文 Server.MapPath Equivalent in ASP.NET Core.