当前位置: 代码迷 >> ASP.NET >> 怎样批量生成静态页面啊高分求源代码(1000~给不了)解决思路
  详细解决方案

怎样批量生成静态页面啊高分求源代码(1000~给不了)解决思路

热度:2627   发布时间:2013-02-25 00:00:00.0
怎样批量生成静态页面啊?高分求源代码(1000~_~给不了)
asp.net怎样批量生成静态页面啊?

第一次接触,是把所有页面变成html形式的么?

代码代码?
有源代码改改就能用么??

谢谢!分不够再加

------解决方案--------------------------------------------------------
看我的博客。

里面有
------解决方案--------------------------------------------------------
给你个方向
先用webclient/httpwebrequest读取地址
再用streamwriter生成文件
你去百度上找找就有了.
------解决方案--------------------------------------------------------
我的思想在自己定义一套模版标记方案, ASPX里的 <ASP:XX> 标记就是种很好的模版标记方案
把模版页读进内存,用正则解析模版页,把里面的自定义标记转换成 对象,就像ASP.NET把 <ASP:XX> 标记变成控件类实例一样. 这样生成页面时,你只需要把数据准备好,循环填充就行了

给你个参考
模板: http://portray.mz99.com/app_template/catalogshow.htm
生成页: http://portray.mz99.com/static/CategoryShow3P1.htm
------解决方案--------------------------------------------------------
看看!!
------解决方案--------------------------------------------------------
你看看这段代码吧,就是替换模版文件Template1.htm文件里的 <!--Test1-->
private void writefile(string Template1,string Test1, string SaveFile)
{
string path = HttpContext.Current.Server.MapPath( "./ ");
System.Text.Encoding code = System.Text.Encoding.GetEncoding( "gb2312 ");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPathtemplate/ "+Template1+ ".htm ");
StreamReader sr=null;
StreamWriter sw=null;
string str= " ";
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd(); // 读取文件

}
catch(Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}
string htmlfilename = SaveFile+ ".htm ";
// 替换内容
// 这时,模板文件已经读入到名称为str的变量中了
// 写文件
str = str.Replace( " <!--Test1--> ", sRecommendVideo);
try
{
// sw = new StreamWriter(path + htmlfilename , false, code);
// sw.Write(str);
// sw.Flush();
HttpContext.Current.Response.Write(str);
}
catch(Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
//sw.Close();
sr.Close();
}
}
------解决方案--------------------------------------------------------
楼上正解
------解决方案--------------------------------------------------------
最苯的方法,加个循环
PageUrl = tempstr[ij,0];//要生成静态页的http地址,放到字符串数组中
WebClient wc = new WebClient();
wc.Credentials = CredentialCache.DefaultCredentials;

Byte[] pageData = wc.DownloadData(PageUrl);
string tstr = Encoding.GetEncoding( "gb2312 ").GetString(pageData);//Encoding.Default.GetString(pageData);

lujing = @TextBox2.Text.ToString();//Server.MapPath( "~/ ");
//lujing = lujing.Substring(0, lujing.LastIndexOf( '. ') + 1);
lujing = lujing + "\\ "+ tempstr[ij,1]+ ".txt ";
FileStream fs = File.Create(lujing);
StreamWriter sw = new StreamWriter(fs);
fs.Close();

StreamReader sr = new StreamReader(lujing,Encoding.GetEncoding( "gb2312 "));
string s = sr.ReadToEnd();
sr.Close();
s = tstr;
//Encoding code = Encoding.GetEncoding( "gb2312 ");
StreamWriter sw1 = new StreamWriter(lujing,false,Encoding.GetEncoding( "gb2312 "));
  相关解决方案