All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
收藏一段小的.net下的验证码片段_[Asp.Net教程]
注意那些容易被忽略的SQL注入技巧_[SQL Server教程]
HTML语言剖析(十四)特殊字符_[Html教程]_0
开发ASP.NET,Atlas服务器端Extender控件—编写服务器端Extender,&,Dfl_[Asp.Net教程]
探讨ASP.NET,2.0中的Web控件改进技术_.net资料_编程技术
PHP实例:用PHP简单实现多条件查询_php资料_编程技术
详细介绍动态网页PHP预定义变量之服务器变量_php资料_编程技术
JS代码的格式化和压缩_JavaScript技术_编程技术
用动态网页技术PHP生成验证码图片的源代码_[PHP教程]
C#中的foreach语句使用方法
Reading number is top 10 pictures
30 beautiful school beauty3
Chinese paper-cut grilles art appreciation4
The money of more than 100 countries and regions22
LiXiang early youth photo
福利福利。。。。。。
The world's top ten most beautiful railway station2
Chinese paper-cut grilles art appreciation6
有种屌丝级别的好妹子
恶搞漫画2
这是男生笨么?
Download software ranking
美女游泳记
C#编程思想
Unix video tutorial2
jdk1.6 for windows
Ashlynn Video4
C#与.NET技术平台实战演练
matrix3
Unix video tutorial13
Sora aoi 120 minutes
Unix video tutorial8
delv published in(发表于) 2014/1/24 9:02:23 Edit(编辑)
.NET生成静态页面并分页_[Asp.Net教程]

.NET生成静态页面并分页_[Asp.Net教程]

.NET生成静态页面并分页_[Asp.Net教程]























因为公司的产品用asp开发, 前一段时间用asp写了一个生成静态页面并分页的程序,但缘于对.net的热爱,写了这个.net下的生成静态页面并分页的程序。




主要的原理就是替换模板里的特殊字符。




1、静态模板页面 template.html,主要是定义了一些特殊字符,用来被替换。








Title







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" %>






添加新闻











onClick="Button1_Click" Text="Button" />











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";//存储到数据库中
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 = 0; i < content.Length; i++)
{
//string[] newContent = new string[4];//定义和html标记数目一致的数组
StringBuilder strhtml = new StringBuilder();




//创建StreamReader对象
using (StreamReader sr = new StreamReader(Server.MapPath("../../" + "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 = "





upUrl



Number



downUrl





";//上下页表格,注意此处的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 + " ["+"" + m + ""+"] ";
else
{
int n = m - 1;//第三页的连接应该是20070524_2.shtml,以此类推
strNumber = strNumber + " [" +"" + m + ""+"] ";
}
}
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", "上一页");
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());
}
}
}
}







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




另外在使用时,比如我要把新闻的内容分成4页,就应该这样写:111|222|333|444。




来源:CSDN













































添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.