ASCX或ASP.net文件可以保存为HTML文件

时间:2011-06-07 20:14:16

标签: asp.net html ascx

ASCX或ASP.net文件可以保存为HTML文件吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

是的,要获取用户控件的呈现内容,可以执行以下操作:

StringWriter output = new StringWriter();
Page pageHolder = new Page();
UserControl viewControl = (UserControl)pageHolder.LoadControl("path to ascx file");
pageHolder.Controls.Add(viewControl);
HttpContext.Current.Server.Execute(pageHolder, output, true);
string htmlOutput = output.ToString();

如果需要,请确保您可以将上述内容改编为ASPX页面: - )

从那里,将其保存到文件应该是相当直接的。

HTH。 d

答案 1 :(得分:1)

您可以使用RenderPage的{​​{1}}方法直接执行此操作。由于该方法受到保护,因此您需要创建一个子类控件。从那里,你可以随心所欲地做任何事情。

e.g。

UserControl

您可能不希望在页面的public partial class MyPage: Page { public string GetPageContents() { StringBuilder sb = new StringBuilder(); StringWriter sw = new StringWriter(sb); using (HtmlTextWriter writer = new HtmlTextWriter(sw)) { Render(writer); } return sb.ToString(); } } 事件之前随时调用此方法,因为否则您无法确定所有子控件/事件/等已完成。