林雨其蒙吧 关注:4贴子:141
  • 1回复贴,共1
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.IO;
using System.Text;

public partial class _Default : 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");
     
        string strTitle=this.Title.Text;//接收传过来的标题
        string strContent=this.TextBox1.Text;//接收传过来的内容
        string[] content = strContent.Split(new Char[] {'|'});//对内容进行拆分,并保存到数组
        int upbound = content.Length;//数组的上限

        /**/
        ///////////////////////////创建当前日期的文件夹开始
        string strDir="NewsFiles/"+DateTime.Now.ToString("yyyy-MM-dd")+"/";
        string dir = Server.MapPath(strDir);//用来生成文件夹
        if (!Directory.Exists(dir))
        {
            Directory.CreateDirectory(dir);
        }
        /**/
        ///////////////////////////创建当前日期的文件夹结束
           
        /**////////////////////////////创建当前日期的文件夹结束
        try
        {

            for (int i = 0; i < content.Length; i++)
            {
                StringBuilder strhtml = new StringBuilder();

                //创建StreamReader对象
                using (StreamReader sr = new StreamReader(Server.MapPath("template.html"), Encoding.GetEncoding("gb2312")))
                {
                    String oneline;
                    //读取指定的HTML文件模板
                    while ((oneline = sr.ReadLine()) != null)
                    {
                        strhtml.Append(oneline);
                    }
                    sr.Close();
                }

                //上下页表格,注意此处的upUrl(上一页),Number(页码分页),downUrl(下一页)
                string strTable = "<table><tr><td>upUrl</td><td>Number</td><td>downUrl</td></tr></table>";
                string FilePath = "";
                strhtml = strhtml.Replace("Title", "ddddddddddd");
                strhtml = strhtml.Replace("NewsId", "10000");
                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.html而不是20070524_1.html
                        strNumber = strNumber + " [" + "<a href="  + strDate + ".html" + ">" + m + "</a>" + "] ";
                    else
                    {
                        int n = m - 1;//第三页的连接应该是20070524_2.html,以此类推
                        strNumber = strNumber + " [" + "<a href=" + strDate + "_" + n + ".html" + ">" + m + "</a>" + "] ";



IP属地:广西1楼2008-11-12 21:27回复
                        }
                    }


                    if (upbound == 0)//如果没有分页,就直接按日期时间保存
                    {
                        FilePath = dir + strDate + ".html";
                        strhtml = strhtml.Replace("Pager", "");
                    }
                    else//否则按20070524.html、20070524_1.html 这种效果保存
                    {
                        #region MyRegion
                        
                       
                        if (i == 0)
                            FilePath = dir + strDate + ".html";
                        else
                            FilePath = dir + strDate + "_" + i + ".html";

                        if (i == 0)//第一页不显示上一页
                            strTable = strTable.Replace("upUrl", "");

                        if (i <= 1)//上一页分页
                            strTable = strTable.Replace("upUrl", "<a href=" + strDate + ".html" + ">上一页</a>");
                        else
                        {
                            int p = i - 1;
                            strTable = strTable.Replace("upUrl", "<a href=" + strDate + "_" + p + ".html" + ">上一页</a>");
                        }

                        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", "<a href="  + strDate + "_" + q + ".html" + ">下一页</a>");
                        }
                        else
                        {
                            int j = upbound - 1;
                            strTable = strTable.Replace("downUrl", "<a href=" + strDate + "_" + j + ".html" + ">下一页</a>");
                        }

                        strhtml = strhtml.Replace("Pager", strTable);
                         #endregion
                        
                    }

                    //创建文件信息对象--------------------------------------------
                    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();
                    }
                    Response.Write("sucess");
                }
            }
            catch (Exception err)
            {
                //输出异常信息
                Response.Write(err.ToString());
            }
        }
    }
    


    IP属地:广西2楼2008-11-12 21:27
    回复