不能使用 Server.MapPath



我必须做什么才能使Server.MapPath工作?
我有using System.Web;

还有什么?当我输入Server时,没有用于Server的快速结果选项(智能感知)。

有什么帮助吗?

你可以尝试使用这个

    System.Web.HttpContext.Current.Server.MapPath(path);

或使用HostingEnvironment.MapPath

    System.Web.Hosting.HostingEnvironment.MapPath(path);

您的项目需要引用程序集System.Web.dll。服务器是类型 HttpServerUtility 的对象。例:

HttpContext.Current.Server.MapPath(path);

如果我们从线程调用它,System.Web.HttpContext.Current.Server.MapPath("~/")会给出 null。

所以,尝试使用

System.Web.Hosting.HostingEnvironment.MapPath("~/")

如果没有,请添加对System.web的引用。在"引用"文件夹中执行此操作。

然后,您可以使用Hosting.HostingEnvironment.MapPath(path);

bool IsExist = System.IO.Directory.Exists(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
if (!IsExist)
    System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath("/UploadedFiles/"));
StreamWriter textWriter = File.CreateText(Path.Combine(HttpContext.Current.Server.MapPath("/UploadedFiles/") + "FileName.csv"));
var csvWriter = new CsvWriter(textWriter, System.Globalization.CultureInfo.CurrentCulture);
csvWriter.WriteRecords(classVM);

尝试添加System.Web作为对项目的引用。

您需要添加引用 ( System.Web )参考系统网

我知道

这篇文章已经有几年的历史了,但我所做的是将这一行添加到您类的顶部,您仍然可以使用 Server.MapPath

Dim Server = HttpContext.Current.Server

或者你可以做一个函数

Public Function MapPath(sPath as String)
    return HttpContext.Current.Server.MapPath(sPath)
End Function

我致力于让事情变得更容易。我还将其添加到我的实用程序类中,以防万一我再次遇到这种情况。

我遇到了同样的问题,我想这可能会对某人有所帮助。正如这个问题的原始海报所问的那样

我必须做什么才能使Server.MapPath工作?
我使用过系统网;

我们编写的类应该实现 System.Web.UI.Page

例如,我们的类名是MyClass

public class MyClass: System.Web.UI.Page
{
// Code runs here 
}

相关内容

  • 没有找到相关文章

最新更新