在.cs类中获取.aspx文件的内容

时间:2014-03-14 15:08:39

标签: c# asp.net

将.aspx网页的内容作为String获取的好方法是什么。这是来自C#类,它被编译并部署到同一台机器上。

我应该使用HTTP请求吗?或者是否有通过文件路径执行相同操作的方法,这会触发页面后面的代码吗?

3 个答案:

答案 0 :(得分:2)

如果您使用HTTP请求,例如WebClient并使用WebClient.DownloadString(@"http://someSite/somepage.aspx"),则会触发服务器端代码,您将获得服务器生成的HTML。不是实际的aspx页面。

但是如果您使用当前项目中的File.ReadAllLines('somepage.aspx'),那么您将获得文件内容,并且不会触发服务器端代码。但是你只能从你当前的项目中做到这一点。您无法通过aspx

访问http页面

答案 1 :(得分:1)

此代码检索在IIS中托管应用程序的根目录。然后,它连接文件名。最后,它将内容读入字符串变量。

从磁盘读取文件不会触发代码隐藏;只有通过ASP.NET管道的请求才能做到这一点。

string path = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "Index.aspx");
string fileContents = File.ReadAllText(path);

答案 2 :(得分:0)

HTTP请求通常不会返回aspx文件的内容,因为服务器应该解释它(带有一点点,这取决于你的服务器及其配置方式,也许你已经得到了特别设置)

如果要读取aspx文件的内容,请使用磁盘上的位置打开该文件。它不会触发页面后面的代码,因为这是由Web服务器触发的,而您并未使用文件路径来使用它

如果要读取读取aspx文件时产生的输出,请打开此文件的URL。它将触发支持代码,您将收到输出。