ASP.net 如何获取输出的html 大家都知道,.aspx页面最后被生成html发送到客户端,在由浏览器解析。我现在想在服务端获取要输出的html,不知道大家做过没有,请大家帮帮忙。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可是使用WebRequest来获得。具体参看MSDN StringBuilder sb = new StringBuilder(); TextWriter tw = new StringWriter(sb); Server.Execute("WebForm1.aspx", tw); tw.Flush(); string HtmlText= sb.ToString(); // public string GetHtmlSource(string Url, string charset) { if (charset == "" || charset == null) charset = "gb2312"; string text1 = ""; try { HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(Url); HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse(); Stream stream1 = response1.GetResponseStream(); StreamReader reader1 = new StreamReader(stream1, Encoding.GetEncoding(charset)); text1 = reader1.ReadToEnd(); stream1.Close(); response1.Close(); } catch (Exception exception1) { } return text1; } 直接调用上面方法,传入你的URl和charset就行 下面代码测试通过.Html 代码<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HtmlCode.aspx.cs" Inherits="HtmlCode" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <div> <asp:Label ID="lblTest" runat="server" Text ="测试"></asp:Label> <table style="width:100%;"> <tr> <td> A</td> <td> B</td> <td> C</td> </tr> <tr> <td> D</td> <td> E</td> <td> F</td> </tr> <tr> <td> G</td> <td> H</td> <td> I</td> </tr> </table> </div> <asp:TextBox ID="txtHtmlcode" runat="server" Rows="12" TextMode="MultiLine" Width="500px"></asp:TextBox> </form></body></html>[code=C#]using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class HtmlCode : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { // 刷新下页面查看Html code if (Session["Htmlcode"] != null) { txtHtmlcode.Text = Session["Htmlcode"].ToString(); } } protected override void Render(HtmlTextWriter writer) { //base.Render(writer); System.IO.MemoryStream mem = new System.IO.MemoryStream(); System.IO.StreamWriter twr = new System.IO.StreamWriter(mem); System.Web.UI.HtmlTextWriter myWriter = new HtmlTextWriter(twr); base.Render(myWriter); myWriter.Flush(); myWriter.Dispose(); System.IO.StreamReader strmRdr = new System.IO.StreamReader(mem); strmRdr.BaseStream.Position = 0; string pageContent = strmRdr.ReadToEnd(); strmRdr.Dispose(); mem.Dispose(); // 这里设置下断点,查看pageContent的值 Session["Htmlcode"] = pageContent; writer.Write(pageContent); }}[/code] using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;public partial class HtmlCode : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { // 刷新下页面查看Html code if (Session["Htmlcode"] != null) { txtHtmlcode.Text = Session["Htmlcode"].ToString(); } } protected override void Render(HtmlTextWriter writer) { //base.Render(writer); System.IO.MemoryStream mem = new System.IO.MemoryStream(); System.IO.StreamWriter twr = new System.IO.StreamWriter(mem); System.Web.UI.HtmlTextWriter myWriter = new HtmlTextWriter(twr); base.Render(myWriter); myWriter.Flush(); myWriter.Dispose(); System.IO.StreamReader strmRdr = new System.IO.StreamReader(mem); strmRdr.BaseStream.Position = 0; string pageContent = strmRdr.ReadToEnd(); strmRdr.Dispose(); mem.Dispose(); // 这里设置下断点,查看pageContent的值 Session["Htmlcode"] = pageContent; writer.Write(pageContent); }} aspxbutton JS和服务器代码怎么不能同时运行 Asp.net 2.0 jQuery取数据失败 求:OA 带图形化的工作流源代码或者控件 动态布局! 点击GIRDVIEW的排序列头如何让列头变颜色 什么时候DataSet会出现Error .NET机试题目征集 在CS里定义的公共变量,在ASPX页面里<%=%>输出,为什么直接就显示成"<%=变量%>"这样的字符??晕死! 非高手莫入。。。 如何获取或设置控件的位置 vs2005开发web service 报错! 操作系统2008 sql语句在程序中运行不出结果来
StringBuilder sb = new StringBuilder();
TextWriter tw = new StringWriter(sb);
Server.Execute("WebForm1.aspx", tw);
tw.Flush(); string HtmlText= sb.ToString(); //
{
if (charset == "" || charset == null) charset = "gb2312";
string text1 = "";
try
{
HttpWebRequest request1 = (HttpWebRequest)WebRequest.Create(Url);
HttpWebResponse response1 = (HttpWebResponse)request1.GetResponse();
Stream stream1 = response1.GetResponseStream();
StreamReader reader1 = new StreamReader(stream1, Encoding.GetEncoding(charset));
text1 = reader1.ReadToEnd();
stream1.Close();
response1.Close();
}
catch (Exception exception1)
{
}
return text1;
}
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="lblTest" runat="server" Text ="测试"></asp:Label>
<table style="width:100%;">
<tr>
<td>
A</td>
<td>
B</td>
<td>
C</td>
</tr>
<tr>
<td>
D</td>
<td>
E</td>
<td>
F</td>
</tr>
<tr>
<td>
G</td>
<td>
H</td>
<td>
I</td>
</tr>
</table>
</div>
<asp:TextBox ID="txtHtmlcode" runat="server" Rows="12" TextMode="MultiLine"
Width="500px"></asp:TextBox>
</form>
</body>
</html>[code=C#]
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class HtmlCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 刷新下页面查看Html code
if (Session["Htmlcode"] != null)
{
txtHtmlcode.Text = Session["Htmlcode"].ToString();
} } protected override void Render(HtmlTextWriter writer)
{
//base.Render(writer); System.IO.MemoryStream mem = new System.IO.MemoryStream();
System.IO.StreamWriter twr = new System.IO.StreamWriter(mem);
System.Web.UI.HtmlTextWriter myWriter = new HtmlTextWriter(twr);
base.Render(myWriter); myWriter.Flush();
myWriter.Dispose(); System.IO.StreamReader strmRdr = new System.IO.StreamReader(mem);
strmRdr.BaseStream.Position = 0;
string pageContent = strmRdr.ReadToEnd();
strmRdr.Dispose();
mem.Dispose();
// 这里设置下断点,查看pageContent的值
Session["Htmlcode"] = pageContent;
writer.Write(pageContent); }
}
[/code]
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;public partial class HtmlCode : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// 刷新下页面查看Html code
if (Session["Htmlcode"] != null)
{
txtHtmlcode.Text = Session["Htmlcode"].ToString();
} } protected override void Render(HtmlTextWriter writer)
{
//base.Render(writer); System.IO.MemoryStream mem = new System.IO.MemoryStream();
System.IO.StreamWriter twr = new System.IO.StreamWriter(mem);
System.Web.UI.HtmlTextWriter myWriter = new HtmlTextWriter(twr);
base.Render(myWriter); myWriter.Flush();
myWriter.Dispose(); System.IO.StreamReader strmRdr = new System.IO.StreamReader(mem);
strmRdr.BaseStream.Position = 0;
string pageContent = strmRdr.ReadToEnd();
strmRdr.Dispose();
mem.Dispose();
// 这里设置下断点,查看pageContent的值
Session["Htmlcode"] = pageContent;
writer.Write(pageContent); }
}