C# 在ASP.NET中,如何读取页面所在文件夹中的文件?
在ASP.NET(C#)中,如何读取页面所在文件夹中的文件? 我有一个名为mypage.aspx的页面,我正在尝试读取一个名为foo.txt的文件,该文件与此页面位于同一目录中 有没有办法用C# 在ASP.NET中,如何读取页面所在文件夹中的文件?,c#,asp.net,C#,Asp.net,在ASP.NET(C#)中,如何读取页面所在文件夹中的文件? 我有一个名为mypage.aspx的页面,我正在尝试读取一个名为foo.txt的文件,该文件与此页面位于同一目录中 有没有办法用file.OpenRead()打开该文件进行读取? 提供像File.OpenRead(“foo.txt”)这样的相对路径会导致文件位置的b/c失败。您应该尝试File.OpenRead(Server.MapPath(“foo.txt”) 如果MapPath此时未展开/找不到正确的路径,请尝试从站点虚拟根开始指
file.OpenRead()
打开该文件进行读取?
提供像
File.OpenRead(“foo.txt”)
这样的相对路径会导致文件位置的b/c失败。您应该尝试File.OpenRead(Server.MapPath(“foo.txt”)
如果
MapPath
此时未展开/找不到正确的路径,请尝试从站点虚拟根开始指定相关页面的相对路径(使用字符串开头的波浪号(~
),即文件.OpenRead(Server.MapPath(~/path/foo.txt)))
它应该是
File.OpenRead(Server.MapPath("foo.txt"));
在ASP.NET中,该文件夹实际上是IIS的文件夹,通常位于C:\Windows\System32\Inetsrv\etc中 你需要做的是使用
Server.MapPath("TheFileName").
或者使用从请求中获取PhysicalApplicationPath
Request.PhysicalApplicationPath
或
然后从请求开始,然后再从那里开始您可以在aspx页面中使用标签消息或文本框,您可以使用下面的代码在其中显示文件,我使用了带有
lblDisplay ID的标签消息
lblDisplay.Text = File.ReadAllText(Server.MapPath("Give the path here"));
应该是
File.OpenRead(HttpContext.Current.Server.MapPath(“foo.txt”)
@Alex-如果您处于页面代码隐藏的上下文中,那么使用的语法Matten将很好地工作。
lblDisplay.Text = File.ReadAllText(Server.MapPath("Give the path here"));