网上看一段代码:public static string getUrltoHtml(string Url)
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
return reader.ReadToEnd();}
catch(System.Exception ex)
{
errorMsg = ex.Message ;
}
return "";
}具体不知道怎么用?如果生成了html文件,比如A.aspx跳到B.aspx ,B 生成静态页面,那程序跳转不要对应改成这个html文件?麻烦大侠们具体说下 谢谢
{
errorMsg = "";
try
{
System.Net.WebRequest wReq = System.Net.WebRequest.Create(Url);
// Get the response instance.
System.Net.WebResponse wResp =wReq.GetResponse();
// Read an HTTP-specific property
//if (wResp.GetType() ==HttpWebResponse)
//{
//DateTime updated =((System.Net.HttpWebResponse)wResp).LastModified;
//}
// Get the response stream.
System.IO.Stream respStream = wResp.GetResponseStream();
// Dim reader As StreamReader = New StreamReader(respStream)
System.IO.StreamReader reader = new System.IO.StreamReader(respStream, System.Text.Encoding.GetEncoding("gb2312"));
return reader.ReadToEnd();}
catch(System.Exception ex)
{
errorMsg = ex.Message ;
}
return "";
}具体不知道怎么用?如果生成了html文件,比如A.aspx跳到B.aspx ,B 生成静态页面,那程序跳转不要对应改成这个html文件?麻烦大侠们具体说下 谢谢
解决方案 »
- a href 和 submit分别如何带参数传递给新的asp网页
- 关于返回 void,返回关键字后面不得有对象表达式的问题
- cookie
- 我开发一个asp.net项目,在2005上正常,但配置到IIS上,用localhost/aaa/default.aspx就报web.config 一堆错,怎解?
- asp.net2.0中关于Theme的问题
- 请教Session问题
- 救急:在服务器端生成excel文件出错......
- 绑定事件处理丢失
- 着急!!!问个 SQLSERVER 的问题 谢谢~~~
- MVC 怎么实现查询 【新手】
- 前辈们,问个小问题。帮下忙,谢谢了
- 1.5W条记录,按条件Update和Insert,做了2分钟,正常吗
静态化
protected override void Render(HtmlTextWriter writer) {
StreamWriter r=new StreamWriter(Server.MapPath(""), false,System.Text.Encoding.UTF8);
HtmlTextWriter h=new HtmlTextWriter(r);
base.Render(h);
r.Close();
h.Close();
}
StringWriter wr = new StringWriter();
Server.Execute("", wr);
this.lit.Text = Server.HtmlEncode(wr.ToString());
File.WriteAllText(Server.MapPath(""), wr.ToString());
第一种:根据模板生成(从html中读取 ,从写)
string mbPath = Server.MapPath("..");//模板的路径
Encoding code = Encoding.GetEncoding("gb2312");
StreamReader sr = null;
StreamWriter sw = null;
string str = null; //读取
try
{
sr = new StreamReader(url, code);
str = sr.ReadToEnd();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sr.Close();
} //根据时间自动重命名,扩展名也可以自行修改
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm";
str = str.Replace("$title$", txtTitle.Text);//替换Title 从下面的html模板中的到
str = str.Replace("$content$", txtContent.Text);//替换content //生成静态文件
try
{
生成文件的路径
sw = new StreamWriter(Server.MapPath("..") + fileName, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
throw ex;
}
finally
{
sw.Close();
Response.Write("恭喜<a href=/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在**文件夹下!");
}
模板中html中的内容大致上为:
<table width="100%" border="0" bgcolor="#339900">
<tr>
<td height="34" align="center" bgcolor="#FFFFFF"><span class="STYLE1">$title$ </span></td>
</tr>
<tr>
<td height="42" bgcolor="#FFFFFF"><br />
<br />
内容:$content$ </td>
</tr>
</table> 第二种:
aspx生成html
string strHtml;
StreamReader sr = null; //用来读取流
StreamWriter sw = null; //用来写文件
Encoding code = Encoding.GetEncoding("utf-8"); //定义编码
//构造web请求,发送请求,获取响应
WebRequest HttpWebRequest = null;
WebResponse HttpWebResponse = null;
HttpWebRequest = WebRequest.Create(url);//url aspx文件的路径
HttpWebResponse = HttpWebRequest.GetResponse();
//获得流
sr = new StreamReader(HttpWebResponse.GetResponseStream(), code);
strHtml = sr.ReadToEnd();
string strHtml2 = "";
StringBuilder sb = new StringBuilder(); strHtml2 = strHtml.Replace("");
sb.Append(strHtml2);
sb.Append("");
//写入文件
try
{
//判断html文件的是否存在 fna为html文件的路径
if (File.Exists(fna))
{
File.Delete(fna);
} sw = new StreamWriter(fna, false, code); sw.Write(sb);
sw.Flush();
ok = true;
}
catch (Exception ex)
{
HttpContext.Current.Response.Write("<p>写入文件出错:" + ex.Message);
HttpContext.Current.Response.End();
ok = false;
}
finally
{
sw.Close();
}
我大概上就总结了以上两种方法,可以对你进行一定的帮助