[英]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.