将ASP.NET Control转换为String

80酷酷网    80kuku.com

  asp.net|转换下面的类可以实现将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 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

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: