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

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

文章来源中国IT实验室收集整理 作者佚名 更新时间2008-3-21 保存本文保存本文 推荐给好友推荐给好友 收藏本页收藏本页

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

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>$Title</title> </head> <body> <div style="width: 417px; height: 54px" align="center"> <br /> $Title</div> <div style="width: 417px; height: 8px">浏览<font color="red"><script src="http://localhost/.Net/NewsFiles/ClickCount.aspx?NewsId=$NewsId"></script></font>次  $Time</div> <div style="width: 417px; height: 100px"> $Content</div> <div style="width: 416px; height: 9px"> $Pager</div> <div style="width: 416px; height: 8px"> <form id="form1" action="……/AddComment.aspx" style="margin:0px"> <input id="Text1" type="text" /><Img id="Image1" src="……/……/UserInfo/CheckCode.aspx"/><br /> <textarea  id="CommentContent" cols="20" rows="2"></textarea> <br /> <input id="NewsId" type="hidden" value="$NewsId"/> <input id="Button1" type="submit" value="button" /> <a href="……/Display.aspx?NewsId=$NewsId">查看更多评论</a></form> </div> </body> </html>

    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" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>添加新闻</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="Label2" runat="server" Text="标题"></asp:Label> <asp:TextBox ID="Title" runat="server" Width="325px"></asp:TextBox><br /> <asp:Label ID="Label1" runat="server" Text="内容"></asp:Label> <FCKeditorV2:FCKeditor id="Content" basePath="~/FCKeditor/"  runat="server" Height="400px" Width="70%"></FCKeditorV2:FCKeditor> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /> <asp:Label ID="Message" runat="server" ></asp:Label></div> </form> </body> </html>

    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();}

[1] [2] 下一页  

【责编:Ken】

中国IT教育

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

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题
 ·展现C#世界 C#程序设计专题
 ·Java入门 Tomcat的配置技巧精华专题
 ·Oracle RMAN物理备份技术详解
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航