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

本文介绍了一种通过编程方式动态生成HTML文件的方法,并实现了一个递归函数用于获取当前栏目的完整路径,以增强网站导航的友好性。
  ////---------------------给标记数组赋值------------  

            format[0] = title;

            format[1] = datetime;

            format[2] = desc;

            format[3] = content;

            format[4] = nowPosition;

            ////----------替换htm里的标记为你想加的内容

            for (int i = 0; i < 5; i++)

            {

                htmltext.Replace("$htmlformat[" + i + "]", format[i]);

            }

            //----------生成htm文件------------------――   

            try

            {

                using (StreamWriter sw = new StreamWriter(Server.MapPath("html/article" + article_id + ".html"), false, System.Text.Encoding.GetEncoding("GB2312")))

                {

                    sw.WriteLine(htmltext);

                    sw.Flush();

                    sw.Close();

                }

            }

            catch

            {

                Response.Write("The file could not be wirte:");

            }

        }

    }

    #region 得到现在的位置(无限级栏目)

    public string GetPosition(string articlesgroup_id, string positionlist)

    {

        string articlesgroup_parent_id = "";

        string groupname = "";

 

        string NowPosition = "";

        if (articlesgroup_id == "")

            articlesgroup_id = "0";

        string sql = "select articlesgroup_parent_id, groupname from articlesgroup where articlesgroup_id = " + articlesgroup_id + "";

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

        SqlCommand cmd = new SqlCommand(sql, conn);

        cmd.CommandType = CommandType.Text;

        try

        {

            conn.Open();

            SqlDataReader sdr;

            sdr = cmd.ExecuteReader();

            if (!sdr.Read())

            {

                NowPosition = "Current Location:<a href=categorylist.aspx>Base</a>";

            }

            else

            {

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

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

                if (groupname != "")

                    NowPosition = GetPosition(articlesgroup_parent_id, groupname);

            }

            sdr.Close();

            conn.Close();

            if (articlesgroup_id != "0")

                NowPosition = NowPosition + " -> <a href=categorylist.aspx?viewcatagorie_id=" + articlesgroup_id + ">" + groupname + "</a>";

        }

        catch { }

        return NowPosition;

    }

    #endregion

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值