最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
.Net生成html页面的程序代码(含分页)
时间:2014-11-29 编辑:简简单单 来源:一聚教程网
1、简单的生成htm页面代码没有分页
代码如下 | 复制代码 |
using system; string[] newContent = new string[5];//定义和html标记数目一致的数组 |
2、模板页template.html
代码如下 | 复制代码 | |
|
上面代码没有分页功能了,如果要分页我们需要进行一些处理。
1、静态模板页面 template.html,定义了一些特殊字符,用来被替换。
代码如下 | 复制代码 |
Title 浏览 次 Time Content Pager |
2、前态页面 NewsAdd.aspx
一个表单,用于填写新闻标题与内容。
代码如下 | 复制代码 |
<%@ Page Language="C#" AutoEventWireup="false" validateRequest="false" CodeFile="NewsAdd.aspx.cs" Inherits="NewsAdd.Admin_AdminPanel_NewsAdd" %> <%@ Register TagPrefix="FCKeditorV2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %> |
3、后台页面 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 Button1_Click(object sender, EventArgs e) { string strDate = DateTime.Now.ToString("yyMMdd") + "" + DateTime.Now.ToString("yyyymmddhhmmss"); string strFileName = strDate + ".shtml";//存储到数据库中 stockbests.cn 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 = "添加成功!"; stockbests.cn /**////////////////////////////创建当前日期的文件夹开始 string dir = Server.MapPath("http://www.111com.net/ "+"NewsFiles/"+DateTime.Now.ToString("yyMMdd"));//用来生成文件夹 if (!Directory.Exists(dir)) { Directory.CreateDirectory(dir); } /**////////////////////////////创建当前日期的文件夹结束 try { for (int i = 0; i < content.Length; i++) { //string[] newContent = new string[4];//定义和html标记数目一致的数组 StringBuilder strhtml = new StringBuilder(); //创建StreamReader对象 using (StreamReader sr = new StreamReader(Server.MapPath("http://www.111com.net/" + "NewsFiles/") + "template.html",Encoding.GetEncoding("gb2312"))) { String oneline; //读取指定的HTML文件模板 while ((oneline = sr.ReadLine()) != null) { strhtml.Append(oneline); } sr.Close(); } //为标记数组赋值 //SqlServerDataBase db = new SqlServerDataBase(); DataSet ds = db.Select("select top 1 NewsId from inNews order by NewsId desc", null);//获取id string strTable = "
//这三个是用来替换的。 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 + " ["+" " + m + " "+"] "; else { int n = m - 1;//第三页的连接应该是20070524_2.shtml,以此类推 strNumber = strNumber + " [" +" " + m + " "+"] "; } } if (upbound == 0)//如果没有分页,就直接按日期时间保存 { FilePath = Server.MapPath("http://www.111com.net/") + "NewsFiles" + "//" + strDate + ".shtml"; strhtml = strhtml.Replace("Pager", ""); } else//否则按20070524.shtml、20070524_1.shtml 这种效果保存 { if (i == 0) FilePath = Server.MapPath("http://www.111com.net/") + "NewsFiles" + "//" + strDate + ".shtml"; else FilePath = Server.MapPath("http://www.111com.net/") + "NewsFiles" + "//" + strDate + "_" + i + ".shtml"; if (i == 0)//第一页不显示上一页 strTable = strTable.Replace("upUrl", ""); if (i <= 1)//上一页分页 strTable = strTable.Replace("upUrl", " 上一页 "); else { int p = i - 1; strTable = strTable.Replace("upUrl", " 上一页 "); } 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", " 下一页 "); } else { int j = upbound - 1; strTable = strTable.Replace("downUrl", " 下一页 "); } 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()); } } } } |
ps:如果要增加下接跳转框我们可以利用for进行操作
代码如下 | 复制代码 |
for (int j = 1; j <= (pageTotal+1); j++) |
这样就可以了,具体就不介绍了。
相关文章
- C#复制数组的两种方式及效率比较解读 10-24
- ASP.NET Identity用法解析 10-24
- ASP.NET MVC使用Identity增删改查用户介绍 10-24
- C语言中atoi函数模拟实现介绍 10-18
- .Net反向代理组件Yarp用法介绍 10-10
- .NET使用YARP通过编码方式配置域名转发实现反向代理教程 10-10