数据库是access,有十万条数据,用repeater生成分页,速度太慢,想生成html页面,但html页面中,有会员登陆框,唉
请问:C#如何生成文章列表的html页面,html页面的登陆框又如何实现?
盼回复!
请问:C#如何生成文章列表的html页面,html页面的登陆框又如何实现?
盼回复!
解决方案 »
- IIS 中url重写后html页面无法访问
- CSDN 引用quote是怎么换转的
- 生成静态页面的新闻系统中的上一篇文章下一页文章是怎么做的?什么时候生成
- 路径中../ , ../../ , ~/ 三者有什么区别?
- asp.net生成缩略图 求教~
- 如何用jmail发送网页!
- 关于GridView排序的一个问题
- 客户的奇怪需求,大家来帮忙看看,到底是客户BT,还是我太弱了:(
- 怎么取gridview中模板中的文本框的值
- [挑战难题系列]——————高手请进——————
- <INPUT type="reset" value="全部重写" name="Reset"> 如何在cs代码里触发这个按扭,让页面所有控件复原?
- 已经糊涂了,100分求救`
那关于文章列表的分页,又如何实现呢??
呵,分不够再加!
如果你的数据变化不大你可以使用页缓存技术
http://www.webdiyer.com这个分页控件还不错!
这个html文件在首页中放到iframe里.
文章列表;
分类列表;
文章ID和分类ID对应表(也就是可以实现一篇文章可以属于N个分类)分类使用了递归,顶级分类的文章列表,是它所有下级分类文章列表的总和,唉我现在不知道怎样实现用html来实现文章列表的分页!
用URL重写实现动态页面也不错,看上去跟静态没什么区别
文章列表;
分类列表;
文章ID和分类ID对应表(也就是可以实现一篇文章可以属于N个分类)分类使用了递归,顶级分类的文章列表,是它所有下级分类文章列表的总和,唉我现在不知道怎样实现用html来实现文章列表的分页!看上去和静态的没什么区别不行啊,我想提高一下网页的打开速度
直接用RESPONSE.WRITE("<HTML>……</HTML>");我能生成单个页面,但不知如何生成连续的文章列表页面,给个思路吧,谢谢
Dim Sb As New System.Text.StringBuilder
While s
Sb.Append(dr("id"))
End While
所有的循环完了之后才写html
http://www.17828.cn
最近研究一个新闻系统,找到了关于asp.net生成HTML的资料
思路
1. 利用如Dw-Mx这样的工具生成html格式的模板,在需要添加格式的地方加入特殊标记(如$htmlformat$),动态生成文件时利用代码读取此模板,然后获得前台输入的内容,添加到此模板的标记位置中,生成新文件名后写入磁盘,写入后再向数据库中写入相关数据。 2. 使用后台代码硬编码Html文件,可以使用HtmlTextWriter类来写html文件。 优点
1. 可以建立非常复杂的页面,利用包含js文件的方法,在js文件内加入document.write()方法可以在所有页面内加入如页面头,广告等内容。 2. 静态html文件利用MS Windows2000的Index Server可以建立全文搜索引擎,利用asp.net可以以DataTable的方式得到搜索结果。而Win2000的Index服务无法查找xml文件的内容。如果包括了数据库搜索与Index索引双重查找,那么此搜索功能将非常强大。 3. 节省服务器的负荷,请求一个静态的html文件比一个aspx文件服务器资源节省许多。 缺点
思路二: 如果用硬编码的方式,工作量非常大,需要非常多的html代码。调试困难。而且使用硬编码生成的html样式无法修改,如果网站更换样式,那么必须得重新编码,给后期带来巨大的工作量。 因此这里采用的是第一种思路 示列代码 1.定义(template.htm)html模板页面 <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body > <table $htmlformat[0] height="100%" border="0" width="100%" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" style="border:1px solid #000000"> <tr> <td width="100%" valign="middle" align="left"> <span style="color: $htmlformat[1];font-size: $htmlformat[2]">$htmlformat[3]</span> </td> </tr> </table> </body> </html> 2.asp.net代码: //---------------------读html模板页面到stringbuilder对象里---- string[] format=new string[4];//定义和htmlyem标记数目一致的数组 StringBuilder htmltext=new StringBuilder(); try { using (StreamReader sr = new StreamReader("存放模板页面的路径和页面名")) { String line; while ((line = sr.ReadLine()) != null) { htmltext.Append(line); } sr.Close(); } } catch { Response.Write("<Script>alert('读取文件错误')</Script>"); } //---------------------给标记数组赋值------------ format[0]="background=\"bg.jpg\"";//背景图片 format[1]= "#990099";//字体颜色 format[2]="150px";//字体大小 format[3]= "<marquee>生成的模板html页面</marquee>";//文字说明 //----------替换htm里的标记为你想加的内容 for(int i=0;i<4;i++) { htmltext.Replace("$htmlformat["+i+"]",format[i]); } //----------生成htm文件------------------―― try { using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312"))) { sw.WriteLine(htmltext); sw.Flush(); sw.Close(); } } catch { Response.Write ("The file could not be wirte:"); }
小结 用此方法可以方便的生成html文件。程序使用了是循环替换,因此对需替换大量元素的模板速度非常快。