Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET中,如何读取页面所在文件夹中的文件?_C#_Asp.net - Fatal编程技术网

C# 在ASP.NET中,如何读取页面所在文件夹中的文件?

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此时未展开/找不到正确的路径,请尝试从站点虚拟根开始指

在ASP.NET(C#)中,如何读取页面所在文件夹中的文件? 我有一个名为mypage.aspx的页面,我正在尝试读取一个名为foo.txt的文件,该文件与此页面位于同一目录中

有没有办法用
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"));