asp.net怎么生成HTML asp.net怎么生成HTML如生成首页等 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://blog.ccidnet.com/blog-htm-do-showone-uid-12856-type-blog-itemid-272575.htmlhttp://www.cnblogs.com/xlovey/archive/2007/11/16/961092.htmlhttp://blog.csdn.net/ck0074451665/archive/2008/11/10/3265486.aspx 参考 可以写成伪静态页(网上有)亦可以将读取的内容创建到html文件推荐第一种 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("生成静态首页失败"); } }代码如上。请高手帮忙。 --建立一个新网站--设计--源就是html--然后--生成--生成页 --或者发布就可以了。登陆的代码你要写一点。 //有种方法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; }} 这哥们跟我一感觉,都是没明白楼主的意思。是说将。net的aspx页面生成成为HTML静态页面还是怎么的?如果不是的话。5楼哥们的就是的了。aspx页面提供的“设计”和“源”在“源”里面就可以看到你aspx页面的全部HTML代码。 不推荐使用模板replace模式推荐使用 xmlrequest 请求动态主页,将回发的html写入静态主页 这里有代码,但我不太懂。请高手帮忙。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> </td>"); html.Append("</tr>"); html.Append("<tr>"); html.Append("<td> </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() + " | "; } 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); } } } } 步骤:1、先建立你的HTML 首页模版2、在后台用动态数据填充HTML 首页模版的替换部分这是简单生成办法直接生成的办法就复杂了 //有种方法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; }} 1.伪静态,url重写一下2.隔一段时间,读取首页源码,用fso写入到html文件,可以利用到windows任务计划,你可以到我的博客里看看,有这方面的文章。 模板实现静态化URL rewiter实现地址重写实现静态化参考参考 大家都来看看 求TreeView详细用法及实例 datagrid控件绑定列的自动换行 50分求GridView主键怎么用代码绑定 广州.net俱乐部于25下午2点在中大的海珠科技园讲座,到时候会有微软的mvp传道, 怎么在点击按钮后弹出一个提示框? ★★有关Sql2000与asp.net的小问题★★ 互动的listbox问题,高手请进共讨。谢谢!!! 菜鸟提问;现这一个小功能? .net Datalist 在Asp.net中用一个html页面...????? SQL数据库与.net float转换的问题(在线等)
http://www.cnblogs.com/xlovey/archive/2007/11/16/961092.html
http://blog.csdn.net/ck0074451665/archive/2008/11/10/3265486.aspx 参考
亦可以将读取的内容创建到html文件
推荐第一种
{
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("生成静态首页失败");
}
}
代码如上。请高手帮忙。
登陆的代码你要写一点。
//有种方法
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;
}
}
如果不是的话。5楼哥们的就是的了。aspx页面提供的“设计”和“源”在“源”里面就可以看到你aspx页面的全部HTML代码。
推荐使用 xmlrequest 请求动态主页,将回发的html写入静态主页
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> </td>");
html.Append("</tr>");
html.Append("<tr>");
html.Append("<td> </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() + " | ";
}
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);
}
}
} }
1、先建立你的HTML 首页模版
2、在后台用动态数据填充HTML 首页模版的替换部分
这是简单生成办法
直接生成的办法就复杂了
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;
}
}
2.隔一段时间,读取首页源码,用fso写入到html文件,可以利用到windows任务计划,你可以到我的博客里看看,有这方面的文章。
URL rewiter实现地址重写实现静态化
参考
参考