如何让asp.net生成shtml这样得静态页面,并动态产生连接

ht87114 2009-05-07 09:05:35
像很多大型得新闻网站,他们都是用得shtml,然后我点新闻标题得话,并不会提交给哪个aspx进行处理,直接显示得是xx.shtml,那么,怎么样才能生成shtml,然后让连接连接到静态得页面上去呢,小弟跪求,请高手们帮帮忙......很急
...全文
358 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxlweb 2010-03-29
  • 打赏
  • 举报
回复
伪静态
loooooove 2009-09-21
  • 打赏
  • 举报
回复
我的方法是先设计几个页面模板,如首面,二级页面,文章页面,然后能过读取模板文件的内容,再保存成静太页面的模式.
public static string GetUrlHtml(string Url)
{
string errorMsg = "";
string PageUrl = Url;
string HtmlCode = string.Empty;
string encoding = HttpContext.Current.Response.Charset;
StreamReader reader = null;
try
{
WebRequest wReq = System.Net.WebRequest.Create(Url);
Stream respStream = wResp.GetResponseStream();
if (encoding == "utf-8")
{
reader = new StreamReader(respStream, System.Text.Encoding.GetEncoding(encoding), false);
}
else
{
reader = new StreamReader(respStream, System.Text.Encoding.GetEncoding(encoding));
}
HtmlCode = reader.ReadToEnd();
respStream.Flush();
respStream.Close();
reader.Close();
return HtmlCode;

}
catch (System.Exception ex)
{
errorMsg = ex.Message;
}
return "";
}
public static bool CreateHtmls(string HtmlCode, string SavePath, string FileName)
{
string FilePath, StrFileName = FileName;

FilePath = HttpContext.Current.Server.MapPath("/" + SavePath);

if (StrFileName == null)
{ StrFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".html"; }
else
{ StrFileName = FileName; }
System.Text.Encoding Code = System.Text.Encoding.GetEncoding("UTF-8");
StreamWriter SW = null;
try
{
SW = new StreamWriter(FilePath + StrFileName, false, Code);
SW.Write(HtmlCode);
SW.Flush();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.Write("log.innerhtml='页面生成出错,请重新生成!'");
HttpContext.Current.Response.End();
}
finally
{
SW.Close();
}
return true;
}
gongsun 2009-09-20
  • 打赏
  • 举报
回复
...
miyangzz 2009-09-20
  • 打赏
  • 举报
回复
三楼的是伪静态,shtml是介于动态和静态之间的一种API,它使用SSI(服务器端嵌入)技术,也就是他的代码里可以包含服务器端程序,服务器在收到访问请求时先检查这个shtml文件里有没有用SSI,如果没有就当成html处理,所以把aspx转成静态的话转成shtml和html没有区别,shtml里面的服务器端程序不可能自动生成,除非你采用模板转换,即模板里就有这段程序,其他的我就不知道了
zhelove521 2009-08-28
  • 打赏
  • 举报
回复
靠!那个ASP.Net生成静态网页(源码)根本就打开。下了还浪费我2分。骗子!
quanpp_user 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 w395115323 的回复:]
- -!  显示连接的 时候  调个方法被....

string repath(int id)
{
  if(是shtml)return "/html/"+id+".shtml";
  else return "xx.aspx?id="+id;
}


前台 输出 连接 的时候  repath( <%# Eval("id") %>);
[/Quote]
就是这样!
yang318 2009-05-07
  • 打赏
  • 举报
回复
ASP.Net生成静态网页(源码),我前天刚发了个例子,你找一下(下载里面直接搜索ASP.Net生成静态网页(源码))去下吧.
yang318 2009-05-07
  • 打赏
  • 举报
回复
ASP.Net生成静态网页(源码),我前天刚发了个例子,你找一下(下载里面直接搜索ASP.Net生成静态网页(源码))去下吧.
小范f-li.cn 2009-05-07
  • 打赏
  • 举报
回复
- -! 显示连接的 时候 调个方法被....

string repath(int id)
{
if(是shtml)return "/html/"+id+".shtml";
else return "xx.aspx?id="+id;
}


前台 输出 连接 的时候 repath(<%# Eval("id") %>);
yang318 2009-05-07
  • 打赏
  • 举报
回复
ASP.Net生成静态网页(源码),我前天刚发了个例子,你找一下(下载里面直接搜索ASP.Net生成静态网页(源码))去下吧.
yang318 2009-05-07
  • 打赏
  • 举报
回复
ASP.Net生成静态网页(源码),我前天刚发了个例子,你找一下(下载里面直接搜索ASP.Net生成静态网页(源码))去下吧.

62,268

社区成员

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

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

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

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