解决方案 »

  1.   

    前台全部用HTML来做,数据传输用AJAX,和后台数据库交互用c#。这样的话前台页面本来就是HTML,就不用做伪静态了
      

  2.   

    保存输出流为html,ajax不利于SEO
      

  3.   

    使用过滤器filter,在httpmodule的时候,把html截取下来生成html页面,然后做个定时器,定时生成就可以了,或者根据访问生成,过期再重新生成就可以了
    百度搜一下ResponseFilter的用法,呵呵
      

  4.   

    核心代码是不是如下?
    protected void Button1_Click(object sender, System.EventArgs e)
    {
    if(this.TextBox1.Text!=""&&this.TextBox2.Text!="")
    {
    DateTime dt=DateTime.Now;
    string proot=dt.Year.ToString()+dt.Month.ToString()+dt.Day.ToString()+dt.Minute.ToString()+dt.Second.ToString();string[] point=fileup.PostedFile.FileName.Split(".".ToCharArray());
    string filename=proot+"."+point[point.Length-1];
    string path=Server.MapPath("../../news/pic/")+filename;
    if(File.Exists(path)==true)
    {
    Response.Write(" <script>alert('该文件已经存在!') </script>");
    }
    else
    {
    if(fileup.PostedFile.FileName!="")
    {
    fileup.PostedFile.SaveAs(path);
    }
    StreamReader SR=new StreamReader(Server.MapPath("../../")+"detail.html",Encoding.Default);
    string detailHtml=SR.ReadToEnd();
    SR.Close();
    detailHtml=detailHtml.Replace("changenews",this.TextBox2.Text);
    detailHtml=detailHtml.Replace("changetitle",this.TextBox1.Text);
    StreamWriter SW=new StreamWriter(Server.MapPath("../../news/")+proot+".html",false,Encoding.Default);
    SW.Write(detailHtml);
    SW.Close();
    string[] info={this.TextBox1.Text,this.TextBox2.Text,this.DropDownList1.SelectedValue,"/news/"+proot+".html","/news/pic/"+filename};
    D.nods(0,info);
    Response.Write(" <script>alert('添加新闻成功!请继续添加!') </script>");
    this.TextBox1.Text="";
    this.TextBox2.Text="";
    }
    }
    else
    {
    Response.Write(" <script>alert('题目与内容不能为空!') </script>");
    }
    }
    这是我看到别人的提交生成静态的代码,不太懂,高手看看,讲解一下。
      

  5.   


    这是您的名著吧,我好好研究了
    http://hi.baidu.com/zzxap/blog/item/abf27daf832c80c47dd92adb.html
      

  6.   

    这是读模板生成html的方式,生成html的方式很多
    1 读模板做替换
    2 render事件重写
    3 webrequest请求生成
    4 httpfilter
    具体要怎么做看实际的情况,webrequest速度比较慢,但可以多线程操作,再配上定时器,每隔一段时间自己去触发生成,httpfilter速度最快,但多线程似乎存在问题,至于替模板,也是不错的选择,只是维护就比较麻烦了,特别是文件特别多的时候,修改就很困难了
      

  7.   

    文件多少,大小都不是问题,只要能妥善的分区,分文件夹存放就行了,关键就是后期可维护性了,所以用定时器+在httpmodule里面通过webrequest多线程生成的方式,应该是最好的方法了