怎样生成静态页

kk297173176 2010-05-11 05:27:14
如题 求一简单的例子
...全文
73 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kk297173176 2010-05-12
  • 打赏
  • 举报
回复
嗯 谢谢大家了
wuyq11 2010-05-11
  • 打赏
  • 举报
回复
urlrewriter伪静态
模板
public static bool WriteFile(string strText)
{
string path = HttpContext.Current.Server.MapPath("Html/");
System.Text.Encoding code = System.Text.Encoding.GetEncoding("gb2312");
string temp = HttpContext.Current.Server.MapPath("Html/A.html");
StreamReader sr = null;
StreamWriter sw = null;
string str = "";
try
{
sr = new StreamReader(temp, code);
str = sr.ReadToEnd();
}
catch (Exception exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.Close();
}
string htmlfilename = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html";
//通过正则获取标签内容实现内容替换
try
{
sw = new StreamWriter(path + htmlfilename, false, code);
sw.Write(str);
sw.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
return true;
}


StringWriter wr = new StringWriter();
Server.Execute("", wr);
File.WriteAllText(Server.MapPath(""), wr.ToString());
newdigitime 2010-05-11
  • 打赏
  • 举报
回复
如果你要对网页 abc.aspx进行静态,得到abc.html

Server.Execute("abc.aspx", new StreamWriter(Server.MapPath("abc.html")));
李小冲 2010-05-11
  • 打赏
  • 举报
回复
写个静态模版,里面放好可替换的变量,然后再读取模板,把关键字给替换掉,再生成静态文件。
zhaowei273 2010-05-11
  • 打赏
  • 举报
回复
学习ing
  • 打赏
  • 举报
回复
不能直接用?
harvesthouhao 2010-05-11
  • 打赏
  • 举报
回复
我的做法是读取页面将返回的HTML保存为静态页面
  • 打赏
  • 举报
回复
学习了
q107770540 2010-05-11
  • 打赏
  • 举报
回复
mark


下面的示例可能对楼主有帮助;

这是CreateHtml.aspx文件代码:
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Text" %>
<script runat="server" language="vb">
'该过程用来生成HTML网页
Sub Enter_Click(Sender As System.Object, E As System.EventArgs)
'下面首先读取模板文件,将其中的全部代码保存到一个字符串中
Dim strTemplate As String
Dim sr As New StreamReader(Server.MapPath("template.htm"), Encoding.GetEncoding("gb2312"))
strTemplate=sr.ReadToEnd()
sr.Close()
'下面利用客户输入的内容替换模板中的相应字符串
strTemplate=strTemplate.Replace("$title$",txtTitle.Text)
strTemplate=strTemplate.Replace("$body$",txtBody.Text)
strTemplate=strTemplate.Replace("$SubmitDate$",Now())
'下面建立一个StreamWriter对象,生成HTML文件
Dim sw As New StreamWriter(Server.MapPath(GetFileName()), False, Encoding.GetEncoding("gb2312"))
sw.Write(strTemplate)
sw.Close()
'下面给出一个浏览超链接
message.Text = "<a href='" & GetFileName() & "' target='_blank'>请查看生成的文件</a>"
End Sub
'该函数用来返回由当前时间组成的文件名称
Function GetFileName()
GetFileName = Now().ToString.Replace("-","").Replace(":","").Replace(" ","")
GetFileName = GetFileName & ".htm"
End Function
</script>
<HTML>
<body>
<h3 align="center">利用模板生成HTML文件</h3>
<form runat="server">
<table width="80%" align="center">
<tr>
<td width="30%" align="right">标题</td>
<td><asp:Textbox id="txtTitle" columns="50" runat="server"/></td>
</tr>
<tr>
<td width="30%" align="right">内容</td>
<td><asp:Textbox id="txtBody" TextMode="MultiLine" rows="8" columns="40" runat="server"/></td>
</tr>
<tr>
<td colspan="2" align="center"><asp:Button id="Enter" Text="确定" Runat="server" OnClick="Enter_Click"/></td>
</tr>
</table>
<asp:Label id="message" Runat="server" />
</form>
</BODY>
</HTML>


这是模版文件代码template.htm:

<html>
<head>
<title>$title$</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<h3 align="center">$title$</h3>
<table height="80%" border="0" width="100%" cellpadding="10" cellspacing="0" bgcolor="#eeeeee"
style="border:1px solid #000000">
<tr valign="top">
<td>$body$</td>
</tr>
</table>
<p align="center">信息中心 $SubmitDate$</p>
</body>
</html>

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧