asp.net 批量生成静态网页(二)

ASP.NET 文章HTML页创建
本文介绍了一个ASP.NET应用程序中如何从数据库获取文章内容并生成对应的HTML页面的方法。通过连接数据库、执行SQL查询来获取文章详情,并使用流读取器读取模板文件,最终替换模板中的占位符以完成HTML页面的生成。

<!—CreateHTML.aspx.cs -->

using System;

using System.Data;

using System.Data.SqlClient;

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 System.IO;

using System.Text;

 

public partial class CreateHTML : System.Web.UI.Page

{

    public string title = "", content = "", datetime = "", desc = "", pages = "", nowPosition = "", positionlist = null, forindex = "";

 

    protected void Page_Load(object sender, EventArgs e)

    {

       

    }

 

    //获取文章内容

    private void GetArticle(string articles_id)

    {

        SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=city;database=test;");

        string sql = "select * from articles where articles_id=" + articles_id;

        SqlCommand cmd = new SqlCommand(sql, conn);

        conn.Open();

        SqlDataReader sdr = cmd.ExecuteReader();

        if (sdr.Read())

        {

            nowPosition = this.GetPosition(sdr["articlesgroup_parent_id"].ToString(), positionlist);

            title = sdr["title"].ToString();

            content = Server.HtmlDecode(sdr["article"].ToString());

            desc = sdr["articledescription"].ToString();

            datetime = sdr["articledatetime"].ToString();

            forindex += "<a href='article" + articles_id + ".html'>" + sdr["title"] + "</a><br />";

        }

        else

        {

            title = "";

            content = "";

            desc = "";

            datetime = "";

        }

        conn.Close();

    }

 

    //创建文章HTML页

    private void Createhtml(string article_id)

    {

        this.GetArticle(article_id);

        if (title != "" && content != "")

        {//防止生成空数据的页面

            string[] format = new string[5];//定义和htmlyem标记数目一致的数组

            StringBuilder htmltext = new StringBuilder();

            try

            {

                using (StreamReader sr = new StreamReader(Server.MapPath("temp.htm")))

                {

                    String line;

                    while ((line = sr.ReadLine()) != null)

                    {

                        htmltext.Append(line);

                    }

                    sr.Close();

                }

            }

            catch

            {

                Response.Write("<Script>alert('读取文件错误')</Script>");

            }

转载于:https://www.cnblogs.com/4ec/archive/2007/06/03/769588.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值