将ASP.NET Control转换为String
作者:Pro.Net Components 出自:www.pronetcomponents.com 发布日期:2004年6月1日 10点10分8秒
下面的类可以实现将ASP.NET的Control(包括aspx页面)转换成String字符串,可以用于: 用邮件发送ASP.NET的内容 用XSLT转换页面的输出 ASPX页面的全局字符串的使用
C#代码
using System;using System.IO;using System.Text;using System.Web;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 RenderPage(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 SystemImports System.IOImports System.TextImports System.WebImports System.Web.UIPublic Class RenderPublic Shared Function RenderControl(ByVal control As System.Web.UI.Control)_ As StringDim result As StringBuilder = New StringBuilder(1024)control.RenderControl(New HtmlTextWriter(New StringWriter(result)))Return result.ToString()End FunctionPublic Shared Function RenderControl(ByVal control As System.Web.UI.TemplateControl)_ As StringDim result As StringBuilder = New StringBuilder(1024)control.RenderControl(New HtmlTextWriter(New StringWriter(result)))Return result.ToString()End FunctionPublic Shared Function RenderPage(ByVal pageLocation As String) As StringDim context As System.Web.HttpContext = System.Web.HttpContext.CurrentDim result As StringBuilder = New StringBuilder(1024)context.Server.Execute(pageLocation, _New HtmlTextWriter(New StringWriter(result)))Return result.ToString()End FunctionEnd Class