现在的位置: 首页 > 移动开发 > 正文

asp.net怎么t生成静态页面

2020年06月02日 移动开发 ⁄ 共 2466字 ⁄ 字号 评论关闭

  目前网页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 ”+“”+ds.tables[0].rows[i][“n_title”].tostring()+“”+“ ”+ds.tables[0].rows[i][“n_date”].tostring()+“

</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;

  }

  在前台绑定新闻标题和时间:

  

  

  

  

   '><%#eval(“n_title”)%>

   <%#eval(“n_date”)%>

  

  

  

  以上就是关于“asp.net怎么t生成静态页面”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.