我有一张 显示新闻的动态页面 通过 id 查询的的 newsview.aspx?id = 111 这样的现在我想以这张页面的样式 生成静态 html文件 应该如何做?

解决方案 »

  1.   

    每次更新,或添加新闻后,动态生成页面.数据库中保存文件路径,,使用iis的地址重定向.
      

  2.   

    asp.net mvc route
    urlrewriter
    protected override void Render(HtmlTextWriter writer) {   
      StreamWriter r=new StreamWriter(Server.MapPath(""), false,System.Text.Encoding.UTF8);   
      HtmlTextWriter h=new HtmlTextWriter(r);   
      base.Render(h);   
      r.Close();   
      h.Close();   
      }   
      

  3.   

    http://topic.csdn.net/u/20080624/10/26a45062-572c-47e9-bb38-d9aa05b6c2ed.html?2799 Asp.NET生成静态页面并分页
      

  4.   

    你是要实现UrlRewrite吗?搜索网上很多的。
    生成静态页面,网上也很多的
      

  5.   

    把新闻保存为一个xml文件
    如:<news>
    <title>新闻1</title>
    <content>fdsajklf;jsa</content>
    </news>写一个xslt文件,此文件为模板文件,如:  <xsl:stylesheet   version="1.0"   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">   
      <xsl:template   match="/">   
      <html>   
        <body>
        标题:<xsl:value-of disable-output-escaping="yes" select="/news/title"/>
        <br />
        content:<xsl:value-of disable-output-escaping="yes" select="/news/content"/>
        <br />
        </body>   
      </html>   
      </xsl:template>   
      </xsl:stylesheet> 
    注,该模板你可以用任何你已经有的HTML文件,把内容改一改就可以了,注册所有xsl标记然后写这样一段代码,调用一下就可以了        /// <summary>
            /// xml到html的转换
            /// </summary>
            /// <param name="xml_file"></param>
            /// <param name="xslt_file"></param>
            /// <param name="html_file"></param>
            private void xml2html(string xml_file, string xslt_file, string html_file)
            {
                try
                {
                    XslTransform xslt = new XslTransform();
                    XmlDocument xml = new XmlDocument();
                    xslt.Load(xslt_file);
                    xml.Load(xml_file);                FileStream writer = new FileStream(html_file, FileMode.Create, FileAccess.ReadWrite);
                    xslt.Transform(xml, null, writer, null);
                    writer.Flush();
                    writer.Close();
                }
                catch (Exception ex)
                {
                    throw new Exception("生成新闻页面失败:" + ex.Message); ;
                }
            }