asp.net怎么生成HTML如生成首页等

解决方案 »

  1.   

    http://blog.ccidnet.com/blog-htm-do-showone-uid-12856-type-blog-itemid-272575.html
    http://www.cnblogs.com/xlovey/archive/2007/11/16/961092.html
    http://blog.csdn.net/ck0074451665/archive/2008/11/10/3265486.aspx 参考
      

  2.   

    可以写成伪静态页(网上有)
    亦可以将读取的内容创建到html文件
    推荐第一种
      

  3.   

     protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Exsql.Open();
                string Content1 = "";
                StringBuilder Shtml = new StringBuilder();
                ChangeHope_CMS Cms = new ChangeHope_CMS();
                ArticleCMS ArticleCms = new ArticleCMS();
                Content1 = Cms.GetMob("Default", Cms.TemplateID());
                Content1 = ArticleCms.GetUserTag(Content1);
                Content1 = ArticleCms.ReplaceHtmlTag(Content1);
                //Content1 = ArticleCms.GetStaticTag(Content1);
                Content1 = Cms.GetUserTag(Content1);
                Content1 = Cms.ReplaceHtmlTag(Content1);
                Content1 = Cms.GetStaticTag(Content1);
                Content1 = Cms.ReplaceHtmlTag(Content1);
                Shtml.Append(Content1);
                Shtml.Replace("{$Hope_Skin$}", Cms.SitSkinName());
                string Paths = Server.MapPath("../") + "\\" + "index.html";
                Cms.SetHtml(Shtml, Paths);
                Exsql.Close();
               //生成首页登录框JS
               // string JSpath = Server.MapPath("~") + "Include\\Login.JS";           ChangeHope_fc.Show_Msg("生成静态首页成功");        }
            catch
            {
               ChangeHope_fc.Show_Msg("生成静态首页失败");
            }
                
        }
    代码如上。请高手帮忙。
      

  4.   

    --建立一个新网站--设计--源就是html--然后--生成--生成页 --或者发布就可以了。
    登陆的代码你要写一点。
      

  5.   


    //有种方法
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;public class myPage : Page { protected TextBox  txtTextBox = new TextBox();
    protected Label lblLabel = new Label(); protected override void CreateChildControls() {
    // Add Opening HTML Tags
    string  strOpenHTML;
    strOpenHTML = "<html><head><title>My Page</title></head>";
    strOpenHTML += "<body>Enter some text:";
    Controls.Add(new LiteralControl(strOpenHTML)); // Add HTMLForm Tag
    HtmlForm  frmForm = new HtmlForm();
    frmForm.ID = "myForm";
    Controls.Add(frmForm);
    // Add a TextBox
    txtTextBox.ID = "myTextBox";
    frmForm.Controls.Add(txtTextBox); // Add a Button
    Button  btnButton = new Button();
    btnButton.Text = "Click Here!";
    btnButton.Click += new EventHandler(Button_Click);
    frmForm.Controls.Add(btnButton); // Add Page Break
    frmForm.Controls.Add(new LiteralControl( "<p>" )); // Add a Label
    lblLabel.ID = "myLabel";
    frmForm.Controls.Add(lblLabel); // Add Closing HTML Tags
    string  strCloseHTML;
    strCloseHTML = "</form></body></html>";
    Controls.Add(new LiteralControl(strCloseHTML)); } void Button_Click(object s, EventArgs e) {
    lblLabel.Text = txtTextBox.Text;
    }
    }
      

  6.   

      这哥们跟我一感觉,都是没明白楼主的意思。是说将。net的aspx页面生成成为HTML静态页面还是怎么的?
    如果不是的话。5楼哥们的就是的了。aspx页面提供的“设计”和“源”在“源”里面就可以看到你aspx页面的全部HTML代码。
      

  7.   

    不推荐使用模板replace模式
    推荐使用 xmlrequest 请求动态主页,将回发的html写入静态主页
      

  8.   

    这里有代码,但我不太懂。请高手帮忙。using System.Web.Util;
    using System.Data.OleDb;
    using CHP.Pages;
    namespace ChangeHope
    {
        public class ChangeHope_CMS : IHtmlTag
        {
            YX_sql Exsql = new YX_sql();
            public string Hope_Title, Hope_Email,Hope_Open, Hope_SitUrl, Hope_KeysWord, Hope_SiteExc, Hope_Post, Hope_Tel, Hope_Addr, Hope_Code, Hope_Moble, Hope_Copyright, Hope_OpenExc;
            private int ClassID = 0, sitopen = 0;
            public int bbsopen = 0;
            #region 构造函数
            public ChangeHope_CMS()
            {
                Exsql.Open();
                string sql = "select YX_WebName,YX_WebUrl,YX_Key,YX_Ex,YX_Post,YX_Tel,YX_Addr,YX_Email,YX_Fac,YX_Moble,YX_Copy,YX_Open,YX_Open_Exc,yx_bbsopen from YX_WebInfo";
                SqlDataReader dr = Exsql.Re_dr(sql);
                try
                {
                    if (dr.Read())
                    {
                        this.Hope_Title = dr["YX_WebName"].ToString();
                        this.Hope_SitUrl = dr["YX_WebUrl"].ToString();
                        this.Hope_KeysWord = dr["YX_Key"].ToString();
                        this.Hope_SiteExc = dr["YX_Ex"].ToString();
                        this.Hope_Post = dr["YX_Post"].ToString();
                        this.Hope_Tel = dr["YX_Tel"].ToString();
                        this.Hope_Addr = dr["YX_Addr"].ToString();
                        this.Hope_Email = dr["YX_Email"].ToString();
                        this.Hope_Code = dr["YX_Fac"].ToString();
                        this.Hope_Moble = dr["YX_Moble"].ToString();
                        this.Hope_Copyright = dr["YX_Copy"].ToString();
                        this.sitopen = Convert.ToInt16(dr["YX_Open"]);
                        this.Hope_OpenExc = dr["YX_Open_Exc"].ToString();
                        this.bbsopen = Convert.ToInt16(dr["yx_bbsopen"]);
                    }               
                }
                catch
                {            }
                finally
                {
                    dr.Close();
                    Exsql.Close();                
                }          
            }
            #endregion                /// <summary>
            /// 通过Classid找到该类别下的分类,此方法不能当标签使用 
            /// </summary>
            /// <param name="YX_ID"></param>
            /// <returns></returns>
            public string YX_ParentPath(int YX_ID)
            {
                string strpath = "", strid = "";
                int child = 0;
                Exsql.Open();
                SqlDataReader dr = Exsql.Re_dr("select YX_ParentPath,YX_Child from YX_ProductClass where YX_ID=" + YX_ID);
                if (dr.Read())
                {
                    strpath = dr["YX_ParentPath"].ToString() + "," + YX_ID.ToString();
                    child = Convert.ToInt16(dr["YX_Child"]);
                }
                dr.Close();
                if (child != 0)
                {
                    SqlDataReader dr1 = Exsql.Re_dr("select YX_ID from YX_ProductClass where ','+YX_ParentPath+',' like '," + strpath + ",%'");
                    while (dr1.Read())
                    {
                        strid += dr1["YX_ID"].ToString() + ",";
                    }
                    if (strid != "")
                    {
                        //去掉点最后的","
                        int wz = strid.Length - 1;
                        strid = strid.Substring(0, wz);
                    }
                    dr1.Close();
                    Exsql.Close();
                }
                else
                {
                    strid = YX_ID.ToString();
                }
                return strid;
            }        #region 促销
            public string Shop_ChuXiao()
            {
                StringBuilder html = new StringBuilder();
                html.Append("<table width='100%' border='0' cellspacing='0' cellpadding='0'>");
                html.Append("<tr>");
                html.Append("<td>");
                html.Append("<table width='25%' border='0' cellspacing='0' cellpadding='0' style='font-family:宋体; font-size:12px'>");
                html.Append("<tr>");
                html.Append("<td>&nbsp;</td>");
                html.Append("</tr>");
                html.Append("<tr>");
                html.Append("<td>&nbsp;</td>");
                html.Append("</tr>");
                html.Append("</table>");
                html.Append("</td>");
                html.Append("</tr>");
                html.Append("</table>");
                return html.ToString();
            }
            #endregion 
            /// <summary>
            /// 删除html标签
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string DealHtml(string str)
            {
                str = Regex.Replace(str, @"\<(img)[^>]*>|<\/(img)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<(table|tbody|tr|td|th|)[^>]*>|<\/(table|tbody|tr|td|th|)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<(div|blockquote|fieldset|legend)[^>]*>|<\/(div|blockquote|fieldset|legend)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<(font|i|u|h[1-9]|s)[^>]*>|<\/(font|i|u|h[1-9]|s)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<(style|strong)[^>]*>|<\/(style|strong)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<a[^>]*>|<\/a>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<(meta|iframe|frame|span|tbody|layer)[^>]*>|<\/(iframe|frame|meta|span|tbody|layer)>", "", RegexOptions.IgnoreCase);
                str = Regex.Replace(str, @"\<a[^>]*", "", RegexOptions.IgnoreCase);
                return str;
            }
            /// <summary>
            /// 用,号拆分字符,返回一个数组
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public static string[] ret_Arry(string str)
            {
                string[] Dic = str.Split(',');
                return Dic;
            }
            /// <summary>
            /// 创入ClassId返回同深度
            /// </summary>
            /// <returns></returns>
            public string Hope_GetClass(string num) 
            {
                int id = 0;
                string str = "";
                if (HttpContext.Current.Request["ClassId"] != null) 
                {
                    if (ChangeHope_fc.RteNum(HttpContext.Current.Request["ClassId"])) 
                    {
                        id = Convert.ToInt32(HttpContext.Current.Request["ClassId"]);
                    }
                }
                string sql = "select YX_ClassName,YX_ID from YX_ProductClass where YX_ParentID=(select YX_ParentID from YX_ProductClass where YX_ID="+id+")" ;
                SqlDataReader dr = Exsql.Re_dr(sql);
                while (dr.Read())
                {
                    str += "<a href=?ClassId=" + dr[1].ToString() + " style=color:#ffffff>" + dr[0].ToString() + "&nbsp;&nbsp;|&nbsp;&nbsp;";            
                }
                dr.Close();
                return str;
            }
            /// <summary>
            /// 检查是否是数字
            /// </summary>
            /// <param name="str"></param>
            /// <returns></returns>
            public bool RteNum(string str)
            {
                if (str == "" || str == null)
                {
                    return false;
                }
                else
                {
                    System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[-]?\d+[.]?\d*$");
                    return reg1.IsMatch(str);
                }
            }
        }   }
      

  9.   

    步骤:
    1、先建立你的HTML 首页模版
    2、在后台用动态数据填充HTML 首页模版的替换部分
    这是简单生成办法
    直接生成的办法就复杂了
      

  10.   

    //有种方法
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;public class myPage : Page {    protected TextBox  txtTextBox = new TextBox();
        protected Label lblLabel = new Label();    protected override void CreateChildControls() {
            // Add Opening HTML Tags
            string  strOpenHTML;
            strOpenHTML = "<html><head><title>My Page</title></head>";
            strOpenHTML += "<body>Enter some text:";
            Controls.Add(new LiteralControl(strOpenHTML));        // Add HTMLForm Tag
            HtmlForm  frmForm = new HtmlForm();
            frmForm.ID = "myForm";
            Controls.Add(frmForm);
            // Add a TextBox
            txtTextBox.ID = "myTextBox";
            frmForm.Controls.Add(txtTextBox);        // Add a Button
            Button  btnButton = new Button();
            btnButton.Text = "Click Here!";
            btnButton.Click += new EventHandler(Button_Click);
            frmForm.Controls.Add(btnButton);        // Add Page Break
            frmForm.Controls.Add(new LiteralControl( "<p>" ));        // Add a Label
            lblLabel.ID = "myLabel";
            frmForm.Controls.Add(lblLabel);        // Add Closing HTML Tags
            string  strCloseHTML;
            strCloseHTML = "</form></body></html>";
            Controls.Add(new LiteralControl(strCloseHTML));    }    void Button_Click(object s, EventArgs e) {
            lblLabel.Text = txtTextBox.Text;
        }
    }
      

  11.   

    1.伪静态,url重写一下
    2.隔一段时间,读取首页源码,用fso写入到html文件,可以利用到windows任务计划,你可以到我的博客里看看,有这方面的文章。
      

  12.   

    模板实现静态化
    URL  rewiter实现地址重写实现静态化
    参考
    参考