asp.net做的网站首页怎么生成静态?

mengguyongshi 2009-10-14 02:52:47
asp.net做的网站首页怎么生成静态?
做了个新闻类发布类的网站,子页生成HTML我解决了,但是首页怎么处理?
首页用的repeater控件显示的,不知道怎么生成静态了。麻烦大家给我出个思路。

再就是门户类的网站的首页显示记录时用repeater控件对不?我知道的是可以用datareader显示,也可以用datalist和gridview显示,但没大搞清楚应该用哪个最理想。还有就是想生成静态的话怎么处理。
...全文
113 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
baoxuetianxia 2009-10-14
  • 打赏
  • 举报
回复
百度不行就用google
qq2013 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 intel9988 的回复:]
你还客户端去执行一下,再弄到服务器上。汗,这是在写程序么
[/Quote]
sf
mengguyongshi 2009-10-14
  • 打赏
  • 举报
回复
CODE163,你那个具体怎么用?
我是新手,不会用。我的文件名是default.aspx,想把它转成静态具体怎么操作?
intel9988 2009-10-14
  • 打赏
  • 举报
回复
你还客户端去执行一下,再弄到服务器上。汗,这是在写程序么
mengguyongshi 2009-10-14
  • 打赏
  • 举报
回复
想想了个办法,就是后台有个ASPX页,先让浏览器执行出HTML来,然后再把HTML读出来并写成一个新的INDEX.html文件,以前做ASP就是这么做的,不过ASP.NET里不认绝对路径,能有办法让它认绝对路径不?

代码如下:

string filePath =Server.MapPath("login.aspx");
StreamReader sr = File.OpenText(filePath);
sr = new StreamReader(filePath, System.Text.Encoding.GetEncoding("utf-8"));
string mystr = sr.ReadToEnd();

//写入
string strpath = Server.MapPath("index.html");
StreamWriter sw = new StreamWriter(strpath);
sw.Write(mystr);
sw.Close();
liujintaozyc 2009-10-14
  • 打赏
  • 举报
回复
重写
itliyi 2009-10-14
  • 打赏
  • 举报
回复
销魂的西瓜 2009-10-14
  • 打赏
  • 举报
回复
不能用控件 如果有列表 可以用AJAX去另外一个页面获取列表 用for循环一条一条的返回
ck11926375 2009-10-14
  • 打赏
  • 举报
回复
首页生成静态麻烦 不如伪静态
intel9988 2009-10-14
  • 打赏
  • 举报
回复
静态页就不能用控件了,自己用html做一个模板页,把你要输出的内容去替换掉模板页里面的特定符号(代号)
CODE163 2009-10-14
  • 打赏
  • 举报
回复
/// <summary>
/// 转换成静态HTML
/// </summary>
/// <param name="path">动态页面路径 如Aritcle.aspx?id=1</param>
/// <param name="outpath">生成的HTML文件路径</param>
public void transHtml(string path, string outpath)
{
Page page = new Page();
StringWriter writer = new StringWriter();
page.Server.Execute(path, writer);
FileStream fs;
if (File.Exists(page.Server.MapPath("") + "\\" + outpath))
{
File.Delete(page.Server.MapPath("") + "\\" + outpath);
fs = File.Create(page.Server.MapPath("") + "\\" + outpath);
}
else
{
fs = File.Create(page.Server.MapPath("") + "\\" + outpath);
}
byte[] bt = Encoding.Default.GetBytes(writer.ToString());
fs.Write(bt, 0, bt.Length);
fs.Close();
}
mengguyongshi 2009-10-14
  • 打赏
  • 举报
回复
楼上说的思路我基本明白,想问一下用什么控件显示?有控件的话怎么生成静态??
ljsheng 2009-10-14
  • 打赏
  • 举报
回复
百度~
让我带你走 2009-10-14
  • 打赏
  • 举报
回复
方法很多种!
效率高准确的还是 模板替换 比较好
根据模板生成静态页也比较灵活
至于模板中的标签需要你自己定义好
比如我做的小的cms是这样的格式{PT_1,2,3}
大概意思是:id是1栏目下面的两条新闻,每条新闻显示3个字
intel9988 2009-10-14
  • 打赏
  • 举报
回复
1,替换
2,服务器重写

62,041

社区成员

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

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

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

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