将ASP.NET Control转换为String2011-01-24下面的类可以实现将ASP.net的Control(包括aspx页面)转换成String字符串,可以用于:用邮件发送ASP.NET的内容用XSLT转换页面的输出ASPX页面的全局字符串的使用C#代码using System; using System.IO; using System.Text; using System.<a href="http://www.bianceng.cn/web/" target="_blank">Web</a>; using System.Web.UI;
public class Render { public static string RenderControl(System.Web.UI.Control control) { StringBuilder result = new StringBuilder(1024); control.RenderControl(new HtmlTextWriter(new StringWriter(result))); return result.ToString(); } public static string RenderControl(System.Web.UI.TemplateControl control) { StringBuilder result = new StringBuilder(1024); control.RenderControl(new HtmlTextWriter(new StringWriter(result))); return result.ToString(); } public static string Rend<a href="http://www.bianceng.cn/corp/solution/erp/" target="_blank">ERP</a>age(string pageLocation) { System.Web.HttpContext context = System.Web.HttpContext.Current; StringBuilder result = new StringBuilder(1024); context.Server.Execute(pageLocation, new HtmlTextWriter(new StringWriter(result))); return result.ToString(); } }VB.NET代码Imports System Imports System.IO Imports System.Text Imports System.Web Imports System.Web.UI
Public Class Render Public Shared Function RenderControl(ByVal control As System.Web.UI.Control)_ As String Dim result As StringBuilder = New StringBuilder(1024) control.RenderControl(New HtmlTextWriter(New StringWriter(result))) Return result.ToString() End Function Public Shared Function RenderControl(ByVal control As System.Web.UI.TemplateControl)_ As String Dim result As StringBuilder = New StringBuilder(1024) control.RenderControl(New HtmlTextWriter(New StringWriter(result))) Return result.ToString() End Function Public Shared Function RenderPage(ByVal pageLocation As String) As String Dim context As System.Web.HttpContext = System.Web.HttpContext.Current Dim result As StringBuilder = New StringBuilder(1024) context.Server.Execute(pageLocation, _ New HtmlTextWriter(New StringWriter(result))) Return result.ToString() End Function End Class