首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

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

    //为标记数组赋值//SqlServerDataBase db = new SqlServerDataBase();DataSet ds = db.Select("select top 1 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="";strhtml = strhtml.Replace("$Title", strTitle);strhtml = strhtml.Replace("$NewsId", ds.Tables[0].Rows[0]["NewsId"].ToString());strhtml = strhtml.Replace("$Time", DateTime.Now.ToString("yyyy/MM/dd"));strhtml = strhtml.Replace("$Content", content[i]);string strNumber = "";//数字分页1,2,3……

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

    ……{ if (m == 1)//如果是第一页就显示成这个样子:20070524.shtml而不是20070524_1.shtml strNumber = strNumber + " ["+"<a href=" + "……/" + strDate + ".shtml" + ">" + m + "</a>"+"] ";else……{ int n = m - 1;//第三页的连接应该是20070524_2.shtml,以此类推strNumber = strNumber + " [" +"<a href=" + "……/" + strDate + "_" + n + ".shtml" + ">" +  m + "</a>"+"] ";} if (upbound == 0)//如果没有分页,就直接按日期时间保存……{ FilePath = Server.MapPath("……/……/") + "NewsFiles" + "//" + strDate + ".shtml";strhtml = strhtml.Replace("$Pager", "");} else//否则按20070524.shtml、20070524_1.shtml 这种效果保存……{ if (i == 0)

    FilePath = Server.MapPath("……/……/") + "NewsFiles" + "//" + strDate + ".shtml";else FilePath = Server.MapPath("……/……/") + "NewsFiles" + "//" + strDate + "_" + i + ".shtml";

    if (i == 0)//第一页不显示上一页strTable = strTable.Replace("$upUrl", "");

    if (i <= 1)//上一页分页strTable = strTable.Replace("$upUrl", "<a href=" + "……/" + strDate + ".shtml" + ">上一页</a>");else……{ int p = i - 1;strTable = strTable.Replace("$upUrl", "<a href=" + "……/" + strDate + "_" + p + ".shtml" + ">上一页</a>");}

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

    if (i != upbound - 1)//下一页分页……{ int q = i + 1;strTable = strTable.Replace("$downUrl", "<a href=" + "……/" + strDate + "_" + q + ".shtml" + ">下一页</a>");} else……{ int j = upbound - 1;strTable = strTable.Replace("$downUrl", "<a href=" + "……/" + strDate + "_" + j + ".shtml" + ">下一页</a>");}

    strhtml = strhtml.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(strhtml);sw.Flush();sw.Close();} catch (Exception err)

    ……{ //输出异常信息Response.Write(err.ToString());}

    请不要直接拷贝使用,里面的路径需要更改,但程序绝对没问题,在我本地已经测试通过。

上一页  [1] [2] 

【责编:Ken】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航