问题描述
asp.net做个批量生成html的网站,生成静态页图片翻页怎么做啊index_1.html,index_2.html这样子上一页12345下一页或者上一页下拉列表(可以选择页)下一页各们大哥怎么实现??是个图片站index_1.html,index_2.html,index_3.html,index_4.html每个页不同的图片。请教...
解决方案
解决方案二:
分页我一般还是用动态分页,然后重写url为.htm
解决方案三:
分页在生成时就应该把相应的页面链接写进去阿;分页其实比较难以实现的功能是在数据量巨大的情况下,添加一条数据就要生成大量的页面对服务器造成负担;比如:我有10万条数据,每页显示10条,一共有1w个静态页面,我添加一条数据时,会造成需要更新这1万个页面,服务器的负担就可想而知了我一般采取生成前20(50)页的策略来实现,这个是针对新闻的,图片站并不一定适合;
解决方案四:
楼上说的就是这个道理,所以在大数据量的情况下,没有动态分页来得方便。
解决方案五:
用动态的话,服务器负载太大了啊,不过我的图片是遍历的,不用连接数据库,这样服务器的负载不会那么大吧??
解决方案六:
现在国外都在流行一个SideCore软件它是基于微软.NET平台开发的网站内容管理系统,它集成了内容发布管理、多站点集成、信息采集、搜索引擎优化、全文检索等多项强大功能,能够生成纯静态页面,独创的STL模版语言,通过Dreamweaver可视化插件能够轻易编辑模版样式...功能很强大哦,我现在也在研究。
解决方案七:
翻页这些都是生成相对应的就可以了
解决方案八:
引用5楼ghj5454的回复:
现在国外都在流行一个SideCore软件它是基于微软.NET平台开发的网站内容管理系统,它集成了内容发布管理、多站点集成、信息采集、搜索引擎优化、全文检索等多项强大功能,能够生成纯静态页面,独创的STL模版语言,通过Dreamweaver可视化插件能够轻易编辑模版样式...功能很强大哦,我现在也在研究。
有没有这软件啊?
解决方案九:
每一页生成一个页面,翻页的时候用超链接
解决方案十:
建议用动态分页+url重写
解决方案十一:
引用9楼zzxap的回复:
建议用动态分页+url重写
是的,我也顶楼上的!但,我不知道怎么做“URL重写”!楼上的能告诉在下吗?!多谢先!
解决方案十二:
引用9楼zzxap的回复:
建议用动态分页+url重写
是的,我也顶楼上的!但,我不知道怎么做“URL重写”!楼上的能告诉在下吗?!多谢先!
解决方案十三:
语言实在不懂怎么说,直接给个以前自己写的代码吧,这种其实,比较喜欢用ajax来做,但BOSS又喊SEO啊。。。。。。。。烦usingSystem;usingSystem.Data;usingSystem.Configuration;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Data.SqlClient;usingSystem.IO;usingSystem.Text;namespaceWeb{//信息类型的分类生成HTMLpublicclassknowListClass{publicknowListClass(){}///<summary>///返回案例的翻页字符串,这里四页面为一组///</summary>///<paramname="page">当前页的号数</param>///<paramname="allPage">总页数</param>///<paramname="allRows">信息的类型</param>///<returns></returns>privatestringgetPageStr(intpage,intallRows,stringlistCalss){//所有页数intallPage=allRows%10==0?allRows/10:allRows/10+1;//组数intpageGrous=allPage%5==0?allPage/5:allPage/5+1;intCurrentArry;stringpageUP="",pageDown="",pageStr="";if(page%5==0){CurrentArry=page/5;}else{CurrentArry=((page/5)+1);}//循环构成翻页数for(inti=(CurrentArry-1)*5+1;i<=((CurrentArry-1)*5)+5;i++){///如果是当前页,则设置为红色if(i==page){pageStr+="<ahref=""+listCalss+""+i.ToString()+".html"style="color:red">["+i+"]</a> ";}else{pageStr+="<ahref=""+listCalss+""+i.ToString()+".html"style="color:Gray">["+i+"]</a> ";}////如果大于最大的页数则跳出intresult=allRows%10==0?allRows/10:allRows/10+1;if(i>=result)break;}//下一页的判断if(CurrentArry>=pageGrous){pageDown="";}else{pageDown="<ahref=""+listCalss+""+(CurrentArry*5+1).ToString()+".html"style="color:red">下一页</a> ";}//上一页的判断if(CurrentArry<=1){pageUP="";}else{pageUP="<ahref=""+listCalss+""+((CurrentArry-1)*5-4)+".html"style="color:red">上一页</a> ";}stringallcaseList="共["+allRows+"]条信息"+" 共"+allPage+"页"+" 当前第["+CurrentArry+"]页";stringlastPage=allcaseList+pageUP+pageStr+pageDown;returnlastPage;}///<summary>///生成///</summary>///<returns></returns>publicboolcaseList(intclassId,stringlistCalss){boollast=false;BLL.wpf_bll_newsbll=newBLL.wpf_bll_news();DataSetmyset=newDataSet();if(bll.newsall(myset,"tableKnowList",classId)){inthtmlId=1;//取出总行数intallRows=myset.Tables["tableKnowList"].Rows.Count;//如果没有数据,则直接退出if(allRows<=0)returnfalse;stringpageDate="";for(inti=0;i<=allRows-1;i++){stringnew_title=myset.Tables["tableKnowList"].Rows[i]["new_title"].ToString();stringnew_ID=myset.Tables["tableKnowList"].Rows[i]["new_ID"].ToString();stringconten=CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Length>250?CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString()).Substring(0,250)+".....":CheckDate.NoHTML(myset.Tables[0].Rows[i]["new_conten"].ToString());pageDate+="<liclass="zhouyi_select_li"><divclass="zhouyi_select_hd"><h2><ahref=""+"news"+new_ID.ToString()+".html">"+new_title+"</a></h2></div>"+"<divclass="fl">"+conten+"</div></li>";//够一页了,每一页五条数据if((i+1)%10==0){stringpageStr=getPageStr(htmlId,allRows,listCalss);FileStreamtFile=File.Open(System.Web.HttpContext.Current.Server.MapPath("./templateFile/knowListClass.html"),FileMode.Open,FileAccess.Read);StreamReaderreader=newStreamReader(tFile,Encoding.GetEncoding("gb2312"));StringBuildersb=newStringBuilder(reader.ReadToEnd());reader.Close();sb.Replace("{$_pageDataList_$}",pageDate);sb.Replace("{$_page_$}",pageStr);string_class="";switch(classId.ToString()){case"3":_class="一周之星";break;case"4":_class="趣味问题";break;case"5":_class="名词解释";break;case"6":_class="常见问题";break;default:_class="技术知识";break;}sb.Replace("{!_calss_!}",_class);stringfileName=listCalss+htmlId+".html";FileStreamrFile=File.Create(System.Web.HttpContext.Current.Server.MapPath("./html")+"/"+fileName);StreamWriterwriter=newStreamWriter(rFile,Encoding.GetEncoding("gb2312"));writer.Write(sb.ToString());writer.Flush();writer.Close();htmlId++;pageDate="";pageStr="";}。,,,,,,,下面的代码就不贴了,主要的就在这里
解决方案十四:
......................几年前的贴子
解决方案十五:
分页我一般还是用动态分页,然后重写url为.htm