0

ユーザーによって部分的に入力されたテーブルがあり、結果の HTML をファイルに保存したいと考えています。私が使用しているコードは次のとおりです。

WebClient myClient = new WebClient();
string myPageHTML = null;
byte[] requestHTML;
string currentPageUrl = Request.Url.ToString();
UTF8Encoding utf8 = new UTF8Encoding();
requestHTML = myClient.DownloadData(currentPageUrl);
myPageHTML = utf8.GetString(requestHTML);
string outputFileLocation = currDir + "\\" + "outputFile.html";
FileStream fs = File.Open(outputFileLocation, FileMode.Create, FileAccess.Write);
using (StreamWriter sw = new StreamWriter(fs))
{
    sw.WriteLine(myPageHTML);
}

問題は、このコードがページの新しいリクエストを送信するため、ユーザー入力に起因する HTML ではなく、最初のページ ビューを取得することです。

アドバイスをいただければ幸いです。

よろしく。

4

1 に答える 1

2

メソッドをRender Methodに入れ、次のように変更します

protected override void Render(HtmlTextWriter writer)
{
 sw = new StringWriter();
 htmltw = new HtmlTextWriter(sw); 
 base.Render(htmltw);
 StringBuilder html = sw.GetStringBuilder();

 string outputFileLocation = currDir + "\\" + "outputFile.html";
 FileStream fs = File.Open(outputFileLocation, FileMode.Create, FileAccess.Write);
 using (StreamWriter sw = new StreamWriter(fs))
 {
  sw.WriteLine(html);

 }
 writer.Write(sOut);
}
于 2012-07-18T15:55:58.387 に答える