将Asp.net表单转换为HTML文件,保存控件内容
本文关键字:保存 控件 文件 HTML net Asp 表单 转换 | 更新日期: 2023-09-27 18:03:36
我试图将asp.net表单与多个文本框和复选框保存到html文件。
问题是,即使我为这些控件启用了postback/viewstate,当我这样做时(当用户按下提交按钮时),文本框的内容和复选框的状态也不会保存。
WebClient myClient = new WebClient();
string myPageHTML = null;
byte[] requestHTML;
// Gets the url of the page
string currentPageUrl = Request.Url.ToString();
UTF8Encoding utf8 = new UTF8Encoding();
requestHTML = myClient.DownloadData(currentPageUrl);
myPageHTML = utf8.GetString(requestHTML);
///////////////
System.IO.StreamWriter file = new System.IO.StreamWriter("c:''test.html");
file.WriteLine(myPageHTML);
file.Close();
看起来你正在为"currentPageUrl"创建一个全新的HttpRequest。这本质上与打开一个新浏览器并请求那个URL是一样的:它是一个全新的请求,没有视图状态。这就是为什么它返回一个全新的响应,没有填写任何值。
当然,您是从页面自己的后台代码中触发请求的。然而,web服务器并不知道这一点——它将完全按照你的请求做:提供一个全新版本的请求页面。
EDIT - more info:一件可能有效的事情(尽管我承认我没有尝试过)是在Render()执行后抓取HttpResponse,并从Response中读取页面的完整内容。输出流。