在后面的代码中获取由ASP.NET控件呈现的HTML

rob*_*nal 17 c# asp.net

嗨,我想在代码后面的Panel中调用相应的html.我怎样才能做到这一点?

我有这个

<asp:Panel ID="MyPanel" runat="server">
    // other asp.net controls and html stuffs here.
</asp:Panel>
Run Code Online (Sandbox Code Playgroud)

我希望MyPanel在我的代码中使用等效的HTML 及其所有内容,例如在PageLoad或某些方法中.

谢谢.

Shi*_*mar 35

RenderControl()不起作用吗?

创建一个控件实例,然后在其上调用RenderControl().当然这意味着您的面板位于UserControl中

评论的例子:

StringBuilder sb = new StringBuilder(); 
StringWriter tw = new StringWriter(sb); 
HtmlTextWriter hw = new HtmlTextWriter(tw); 
ctrl.RenderControl(hw); 
var html = sb.ToString(); 
Run Code Online (Sandbox Code Playgroud)

  • StringBuilder sb = new StringBuilder(); StringWriter tw = new StringWriter(sb); HtmlTextWriter hw = new HtmlTextWriter(tw); ctrl.RenderControl(hw); var html = sb.ToString(); (12认同)