繁体   English   中英

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

[英]Getting the content of a .aspx file in a .cs class

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

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

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

但是,如果您在当前项目中使用File.ReadAllLines('somepage.aspx') ,则将获取文件内容,并且不会触发服务器端代码。 但是您只能在当前项目中执行此操作。 您无法通过http访问aspx页面

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

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

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

HTTP请求通常不会返回aspx文件的内容,因为服务器应该对其进行解释(带着一点麻烦,这完全取决于您的服务器及其配置方式,也许您已经进行了特殊设置)

如果要读取aspx文件的内容,请使用其在磁盘上的位置打开文件。 它不会触发页面后面的代码,因为它是由Web服务器触发的,并且您没有通过文件路径使用它

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM