簡體   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