目前网页html静态化是利用其它的动态技术生成html静态页面,还不是静态网站。因为的确是这样的,生成html静态网页有一定的好处。下面学步园小编来讲解下asp.net怎么t生成静态页面?
asp.net怎么t生成静态页面
一、加快页面打开浏览速度,静态页面无需连接数据库教程打开速度较动态页面有明显提高;
二、有利于搜索引擎优化seo教程,baidu、google都会优先收录静态页面,不仅被收录的快还收录的全;
三、减轻服务器负担,浏览网页无需调用系统数据库;
四、网站更安全,html页面不会受asp相关漏洞的影响;
观看一下大一点的网站基本全是静态页面,而且可以减少攻击,防sql注入。数据库出错时,不影响网站正常访问。
生成html文章虽操作上麻烦些,程序上繁杂些,但为了更利于搜索,为了速度更快些,更安全,这些牺牲还是值得的。
//生成静态页
protectedvoidgridview1_rowdeleting(objectsender,gridviewdeleteeventargse)
{
stringn_id=this.gridview1.datakeys[e.rowindex][“nid”].tostring();
sqlconnectionconn=newsqlconnection(“server=.;uid=sa;pwd=;database=dress”);
sqlcommandcmd=newsqlcommand(“selectnid,n_title,n_content,n_pic,n_datefromp_newswherenid=”+n_id,conn);
conn.open();
sqldatareaderdr=cmd.executereader();
//获取新闻发布的时间
stringdate=“”;
if(dr.read())
{
date=convert.todatetime(dr[“n_date”])。tostring(“yyyymmddhhmmss_”);
//调用静态生成的方法
transferstatic(dr[“n_title”].tostring(),dr[“n_content”].tostring(),dr[“n_pic”].tostring(),date,n_id);
response.write(“”);
}
}
//转换静态方法
publicbooltransferstatic(stringtitle,stringcontent,stringpic,stringdate,stringnid)
{
//输出路径
stringoutpath=server.mappath(“~/newdetails”);
//简体中文
encodingencoding=encoding.getencoding(“gb2312”);
//读取模版文件
stringhtmlmodel=server.mappath(“~/htmlmodel/newdetail.html”);
streamreadersr=null;
streamwritersw=null;
stringstr=“”;//保存内容的字符串
try
{
sr=newstreamreader(htmlmodel,encoding);
str=sr.readtoend();//从头读到尾
}
catch(exceptione)
{
response.write(e.message);
response.end();
sr.close();
}
//删除指定的页面
protectedvoidbutton2_click(objectsender,eventargse)
{
stringpath=server.mappath(“~/newdetails”);
file.delete(path+“//”+this.listbox1.selectedvalue);
//page.clientscript.registerclientscriptblock(this.gettype(),“信息处理”,“”);
page.clientscript.registerstartups教程cript(this.gettype(),“信息处理”,“”);
}
生成静态页列表
//得到静态页面的路径
publicstringhtmlpath(datetimedate,stringnid)
{
stringpath=“newdetails/”+date.tostring(“yyyymmddhhmmss_”)+nid+“.html”;
returnpath;
}
//生成静态列表
protectedvoidbutton1_click(objectsender,eventargse)
{
sqlconnectionconn=newsqlconnection(“server=.;uid=sa;pwd=;database=dress”);
sqldataadapterda=newsqldataadapter(“selectnid,n_title,n_content,n_pic,n_datefromp_news”,conn);
datasetds=newdataset();
da.fill(ds);
stringstr=“”;
for(inti=0;i </tr>”; } asp.net怎么t生成静态页面 //调用转换方法生成静态页 transferstatic(str); } //生成静态页 publicbooltransferstatic(stringstrall) { //输出路径 stringoutpath=server.mappath(“~/”); encodingencoding=encoding.getencoding(“gb2312”); //读取模版文件 stringhtmlmode=server.mappath(“~/htmlmodel/newslist.html”); streamreadersr=null; streamwritersw=null; stringstr=“”; try { sr=newstreamreader(htmlmode,encoding); str=sr.readtoend(); } catch(exceptione) { response.write(e.message); response.end(); sr.close(); } //构造要生成的静态页面的名字 stringpagename=“newslist.html”; //开始替换内容 str=str.replace(“newslist”,strall); //写文件 try { sw=newstreamwriter(outpath+pagename,false,encoding); sw.write(str);//将字符串str写到文件 sw.flush(); } catch(exceptione) { response.write(e.message); response.end(); } finally { sw.close(); } returntrue; } 在前台绑定新闻标题和时间:
以上就是关于“asp.net怎么t生成静态页面”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!