前四贴已经结贴 谢谢 <form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" Height="284px" TextMode="MultiLine"
Width="721px"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Text="22" Value="22">
</asp:ListItem>
<asp:ListItem Text="11" Value="11">
</asp:ListItem>
</asp:DropDownList>
</form>
protected void Button1_Click(object sender, EventArgs e)
{
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.RenderControl(oHtmlTextWriter);
TextBox1.Text = oStringWriter.ToString();
//后面不能按Response.End(); 因为后面我还有程序要执行
}以下是sp1234 的解决方案,和我的注释using System.IO;
using System.Text;
using System.Web.UI;public partial class TestRenderToFile : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
String HtmlCode=?????//我希望的是在这个地方来直接得到他的HTML
} protected override void Render(HtmlTextWriter writer)
{
if (判断是否需要记录此页())
{
//我看了里这,这里的意思就是说如果要取得当前的网页的源码的时候
//就在"判断是否需要记录此页"然后在Page.Render的时候保存为一个文件
//问题
//但这里的时候已经是程序的最后,也就是我的Button_OnClick中是没有办法取得的,
//谢谢
StringBuilder ee = new StringBuilder();
StringWriter we = new StringWriter(ee);
HtmlTextWriter hw = new HtmlTextWriter(we);
base.Render(hw);
string file = 取得文件名();
File.WriteAllText(file, ee.ToString());
writer.Write(ee.ToString());
} else base.Render(writer);
} private string 取得文件名()
{
return Server.MapPath("~/App_Data/TestRender.html");
} private bool 判断是否需要记录此页()
{
return true;
}
}
http://topic.csdn.net/u/20080927/16/b267b233-3500-47d8-9d7d-05c5496d91db.html?1527038574
|zyciis| 400分求:真的这么难吗 已经发四贴了:如何在后台获取到当前页面提交的所有HTML源码 急 谢谢
|zyciis| RenderControl 出错 一页只能有一个服务器端 Form 标记。 谢谢 急
http://topic.csdn.net/u/20080926/16/ad076ff4-26ad-42e6-bf0c-2e0750bab107.html
|zyciis| 如何在后台获取到当前页面提交的所有HTML源码 急 谢谢
http://topic.csdn.net/u/20080927/09/c205f030-8b7b-4f40-95c5-ac473e84f889.html?seed=1787685840
|zyciis| 如何最快的将一个控件输出指定一串字符串 谢谢
http://topic.csdn.net/u/20080925/18/d53ee45a-a614-430e-bac9-26b241097db0.html
<asp:TextBox ID="TextBox1" runat="server" Height="284px" TextMode="MultiLine"
Width="721px"></asp:TextBox>
<br />
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Text="22" Value="22">
</asp:ListItem>
<asp:ListItem Text="11" Value="11">
</asp:ListItem>
</asp:DropDownList>
</form>
protected void Button1_Click(object sender, EventArgs e)
{
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.RenderControl(oHtmlTextWriter);
TextBox1.Text = oStringWriter.ToString();
//后面不能按Response.End(); 因为后面我还有程序要执行
}以下是sp1234 的解决方案,和我的注释using System.IO;
using System.Text;
using System.Web.UI;public partial class TestRenderToFile : System.Web.UI.Page
{
protected void Button1_Click(object sender, EventArgs e)
{
String HtmlCode=?????//我希望的是在这个地方来直接得到他的HTML
} protected override void Render(HtmlTextWriter writer)
{
if (判断是否需要记录此页())
{
//我看了里这,这里的意思就是说如果要取得当前的网页的源码的时候
//就在"判断是否需要记录此页"然后在Page.Render的时候保存为一个文件
//问题
//但这里的时候已经是程序的最后,也就是我的Button_OnClick中是没有办法取得的,
//谢谢
StringBuilder ee = new StringBuilder();
StringWriter we = new StringWriter(ee);
HtmlTextWriter hw = new HtmlTextWriter(we);
base.Render(hw);
string file = 取得文件名();
File.WriteAllText(file, ee.ToString());
writer.Write(ee.ToString());
} else base.Render(writer);
} private string 取得文件名()
{
return Server.MapPath("~/App_Data/TestRender.html");
} private bool 判断是否需要记录此页()
{
return true;
}
}
http://topic.csdn.net/u/20080927/16/b267b233-3500-47d8-9d7d-05c5496d91db.html?1527038574
|zyciis| 400分求:真的这么难吗 已经发四贴了:如何在后台获取到当前页面提交的所有HTML源码 急 谢谢
|zyciis| RenderControl 出错 一页只能有一个服务器端 Form 标记。 谢谢 急
http://topic.csdn.net/u/20080926/16/ad076ff4-26ad-42e6-bf0c-2e0750bab107.html
|zyciis| 如何在后台获取到当前页面提交的所有HTML源码 急 谢谢
http://topic.csdn.net/u/20080927/09/c205f030-8b7b-4f40-95c5-ac473e84f889.html?seed=1787685840
|zyciis| 如何最快的将一个控件输出指定一串字符串 谢谢
http://topic.csdn.net/u/20080925/18/d53ee45a-a614-430e-bac9-26b241097db0.html
解决方案 »
- 新手思绪阻塞超链接,求高手打开任督二脉~
- 怎么修改IL代码
- 怎么创建一个txt的文本文件,并向里面写数据?
- 请教一个存储过程的简单问题
- 关于一张页面里面用两个datalist来显示图片的排列变乱的问题!
- 再开一个,还是问刚才的进程问题!
- treeview和webctrl_client目录问题
- input type=file 判断是否为空? 其中 ID Name的区别是什么?
- 用ajax的xmlhttp.send(data)向后台发送请求的时候;,后台没处理,data是个XML数据,是什么原因,如何得到data的值,找了些办法都没成功
- MVC4+EF5使用前移出错:准备命令定义时出错。有关详细信息,请参阅内部异常。
- 奇怪,用户控件的构造函数不执行。
- .net 注册邮箱验证
如果回答是
WebRequest WebClient Execute,
就请不要回答了,看清楚我上面的要求
还有前几贴已经说明了这些都是不行的了
证明你一点也懂去了解HTTP协议吧客户端压根就没有向服务器发HTML源文件的包试问服务器怎么可能有HTML的代码哎,不懂还在这里大声嚷嚷
//取得输入的URL地址
PageUrl = UrlText.Text;
WebClient wc = new WebClient();
//把已登录的用户或正被模拟的用户的用户凭据赋给用于对向Internet资源的请求进行身份验证的网络凭据
wc.Credentials = CredentialCache.DefaultCredentials;
///从指定的URI下载数据
Byte[] pageData = wc.DownloadData(PageUrl);
//把下载到的字符型数组数据转换成字符串类型
ContentHtml.Text = Encoding.Default.GetString(pageData);
是啊,只把表单里的input控件的数据传到服务器如果楼上在输出的时候用ViewState保存的话那另当别论
<html>
..
..
..
..
<form>
<input id="code" name="code" type="text" value="" />
</form>
</html>
在提交服务器之前调用脚本document.getElementById("code").value=document.getElementsByTagName('html')[0].outerHTML
然后服务器端Request.Form["code"]即可获取当前整个页面的html代码