知识大全 ASP.NET生成静态页面和分页主要的原理

Posted

篇首语:聪明出于勤奋,天才在于积累。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET生成静态页面和分页主要的原理相关的知识,希望对你有一定的参考价值。

ASP.NET生成静态页面和分页主要的原理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

   静态模板页面 l 主要是定义了一些特殊字符 用来被替换

  <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN > <> <head> <meta equiv= Content Type content= text/ charset=gb > <title>$Title</title> </head> <body> <div align= center > <br /> $Title</div> <div >浏览<font color= red ><script src= x?NewsId=$NewsId ></script></font>次  $Time</div> <div > $Content</div> <div > $Pager</div> <div > <form id= form action= ……/AddComment aspx > <input id= Text type= text /><Img id= Image src= ……/……/UserInfo/CheckCode aspx /><br /> <textarea  id= CommentContent cols= rows= ></textarea> <br /> <input id= NewsId type= hidden value= $NewsId /> <input id= Button type= submit value= button /> <a ……/Display aspx?NewsId=$NewsId >查看更多评论</a></form> </div> </body> </>

   前态页面 NewsAdd aspx 就是一个表单 用来填写新闻的标题和内容

  <%……@ Page Language= C# AutoEventWireup= false validateRequest= false CodeFile= NewsAdd aspx cs Inherits= NewsAdd Admin_AdminPanel_NewsAdd %> <%……@ Register TagPrefix= FCKeditorV Namespace= FredCK FCKeditorV Assembly= FredCK FCKeditorV %> <!DOCTYPE PUBLIC //W C//DTD XHTML Transitional//EN transitional dtd >

  < xmlns= > <head runat= server > <title>添加新闻</title> </head> <body> <form id= form runat= server > <div> <asp Label ID= Label runat= server Text= 标题 ></asp Label> <asp TextBox ID= Title runat= server Width= px ></asp TextBox><br /> <asp Label ID= Label runat= server Text= 内容 ></asp Label> <FCKeditorV FCKeditor id= Content basePath= ~/FCKeditor/   runat= server Height= px Width= % ></FCKeditorV FCKeditor> <asp Button ID= Button runat= server OnClick= Button _Click Text= Button /> <asp Label ID= Message runat= server ></asp Label></div> </form> </body> </>

   后台页面 NewsAdd aspx cs

  using System using System Data using System Configuration using System Collections using System Web using System Web Security using System Web UI using System Web UI WebControls using System Web UI WebControls WebParts using System Web UI HtmlControls using Mysqlserver using System IO using System Text namespace NewsAdd…… public partial class Admin_AdminPanel_NewsAdd System Web UI Page…… protected void Page_Load(object sender EventArgs e)

  ……

   protected void Button _Click(object sender EventArgs e)

  …… string strDate = DateTime Now ToString( yyMMdd ) + \\ + DateTime Now ToString( yyyymmddhhmmss ) string strFileName = strDate + s //存储到数据库中string strTitle=Request Form[ Title ] ToString() Trim() //接收传过来的标题string strContent=Request Form[ Content ] ToString() Trim() //接收传过来的内容string[] content = strContent Split(new Char[] …… | ) //对内容进行拆分 并保存到数组int upbound = content Length //数组的上限SqlServerDataBase db = new SqlServerDataBase() bool success = db Insert( insert into inNews(Title Content FilePath)values( + strTitle + + strContent + + strFileName + ) null) //if (success)

  // Message Text = 添加成功! /**////////////////////////////创建当前日期的文件夹开始string dir = Server MapPath( ……/……/ + NewsFiles/ +DateTime Now ToString( yyMMdd )) //用来生成文件夹if (!Directory Exists(dir))

  …… Directory CreateDirectory(dir) /**////////////////////////////创建当前日期的文件夹结束try…… for (int i = i < content Length i++)

  …… //string[] newContent = new string[ ] //定义和标记数目一致的数组StringBuilder str = new StringBuilder()

  //创建StreamReader对象using (StreamReader sr = new StreamReader(Server MapPath( ……/……/ + NewsFiles/ ) + \\l Encoding GetEncoding( gb )))

  …… String oneline //读取指定的HTML文件模板while ((oneline = sr ReadLine()) != null)

  …… str Append(oneline) sr Close()

  //为标记数组赋值//SqlServerDataBase db = new SqlServerDataBase() DataSet ds = db Select( select top NewsId from inNews order by NewsId desc null) //获取id string strTable = <table><tr><td>$upUrl</td><td>$Number</td><td>$downUrl</td></tr></table> //上下页表格 注意此处的$upUrl(上一页) $Number(页码分页) $downUrl(下一页)

  //这三个是用来替换的

  string FilePath= str = str Replace( $Title strTitle) str = str Replace( $NewsId ds Tables[ ] Rows[ ][ NewsId ] ToString()) str = str Replace( $Time DateTime Now ToString( yyyy/MM/dd )) str = str Replace( $Content content[i]) string strNumber = //数字分页 ……

  for (int m = m <=upbound m++)

  …… if (m == )//如果是第一页就显示成这个样子 s而不是 _ s strNumber = strNumber + [ + <a + ……/ + strDate + s + > + m + </a> + ] else…… int n = m //第三页的连接应该是 _ s 以此类推strNumber = strNumber + [ + <a + ……/ + strDate + _ + n + s + > +  m + </a> + ] if (upbound == )//如果没有分页 就直接按日期时间保存…… FilePath = Server MapPath( ……/……/ ) + NewsFiles + // + strDate + s str = str Replace( $Pager ) else//否则按 s _ s 这种效果保存…… if (i == )

  FilePath = Server MapPath( ……/……/ ) + NewsFiles + // + strDate + s else FilePath = Server MapPath( ……/……/ ) + NewsFiles + // + strDate + _ + i + s

  if (i == )//第一页不显示上一页strTable = strTable Replace( $upUrl )

  if (i <= )//上一页分页strTable = strTable Replace( $upUrl <a + ……/ + strDate + s + >上一页</a> ) else…… int p = i strTable = strTable Replace( $upUrl <a + ……/ + strDate + _ + p + s + >上一页</a> )

  if(upbound== )//如果只有一页 则不显示页码//strNumber= strTable = strTable Replace( $Number ) else strTable = strTable Replace( $Number strNumber) //页码替换/**///////////////////////// if(i==upbound )//最后一页不显示下一页strTable = strTable Replace( $downUrl )

  if (i != upbound )//下一页分页…… int q = i + strTable = strTable Replace( $downUrl <a + ……/ + strDate + _ + q + s + >下一页</a> ) else…… int j = upbound strTable = strTable Replace( $downUrl <a + ……/ + strDate + _ + j + s + >下一页</a> )

  str = str Replace( $Pager strTable) //创建文件信息对象——FileInfo finfo = new FileInfo(FilePath) //以打开或者写入的形式创建文件流using (FileStream fs = finfo OpenWrite())

  …… //根据上面创建的文件流创建写数据流StreamWriter sw = new StreamWriter(fs System Text Encoding Default) //把新的内容写到创建的HTML页面中sw WriteLine(str) sw Flush() sw Close() catch (Exception err)

  …… //输出异常信息Response Write(err ToString())

cha138/Article/program/net/201311/13760

相关参考

知识大全 ASP.NET实现新闻页面的分页功能

ASP.NET实现新闻页面的分页功能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 Asp.Net中动态页面转静态页面

Asp.Net中动态页面转静态页面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  关于在AspN

知识大全 ASP.NET生成静态网页的方法

ASP.NET生成静态网页的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  ASPNET生成

知识大全 ASP.NET入门教程 3.1静态页面设计[2]

ASP.NET入门教程3.1静态页面设计[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 ASP.NET入门教程 3.1静态页面设计[1]

ASP.NET入门教程3.1静态页面设计[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 利用ASP.NET动态生成HTML页面

利用ASP.NET动态生成HTML页面  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &

知识大全 关于asp静态分页的反向生成方式

  查看很多知名网站除了采用静态网页还采用了真正的静态分页大家知道静态分页是很容易做好的但关键在于对于新内容的增加后要重新生成分页是很难的要使得分页重新排序就必须重新生成全部的分页这样的工作量可想而知

知识大全 ASP.NET 2.0异步页面原理浅析

ASP.NET2.0异步页面原理浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  与ASPNE

知识大全 Ajax搜索结果页面下方的分页按钮的生成

Ajax搜索结果页面下方的分页按钮的生成  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishix

知识大全 asp.net基础小结

  一动态网页和静态网页  起初看到这两个概念会以为动态网页就是网页带有flash的页面而静态网页就是不会动的网页现在看来这种理解是错误的大错特错所谓的动态网页呢其实是指网页和服务器有交互的服务器中的