如何把asp.net文章列表成生静态页面,并且分页

sealion0991 2009-06-27 10:03:16
如何把asp.net文章列表成生静态页面,并且分页

自己学习做了一个小站,新闻内容页是静态的,但不会把文章列表成生静态页面。有没有大虾帮小弟一下!感激不尽

http://www.36mz.com/news.aspx?id=12

这是我的站的一个新闻列表,是动态的!
...全文
186 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
amos1981 2009-07-01
  • 打赏
  • 举报
回复
这是我写的一个分页代码 只是效率不是很高 有没有高手指点下
  protected void Page_Load(object sender, EventArgs e)
{
ViewState["startTime"] = DateTime.Now;
string ff = "",ff1="";
string url = "" ,url2="";
string fileName = "";
int time = 0;
Encoding code = Encoding.GetEncoding("gb2312"); //定义编码
Info IF = new Info();
if (IF.ReadTemplate("30", out myTable) == 1)
{
url = myTable.Rows[0]["Code"].ToString();
}
//获得流
StreamWriter sw = null;
Regex r = new Regex(@"{&(.*?)&}");//获取列表标签
MatchCollection ms = r.Matches(url);
foreach (Match m in ms)
{
string[] text = m.ToString().Replace("{&", "").Replace("&}", "").Split('/');
string t2 = text[1].ToString();
int t1 =Convert.ToInt32(text[2].ToString());
int t3 = 0;

if (myDispNews.ReturnNewsDataByIP(t2, out dtRs) == 1)
{
Random rr = new Random();

decimal k = decimal.Round((Convert.ToDecimal(dtRs.Rows.Count) / Convert.ToDecimal(t1)), 2);
string [] n = Convert.ToString(k).Split('.');
if (n.Length > 1)
{
t3 = Convert.ToInt32(n[0]) + 1;
}
else
{
t3 = Convert.ToInt32(n[0]);
}

for (int i = 0; i <t3; i++)
{
int random = rr.Next(100, 999);
if (IF.ReadTemplate("30", out myTable) == 1)//读取列表模板
{
url2 = myTable.Rows[0]["Code"].ToString();
}
int ss = 0;
int pp = Convert.ToInt32(i * t1 + t1);
if (pp > dtRs.Rows.Count)
{
ss = dtRs.Rows.Count;
}
else
{
ss = pp;
}
for (int tt = Convert.ToInt32(i * t1); tt < ss; tt++)
{
ff += "<li><span>" + Convert.ToDateTime(dtRs.Rows[tt]["outtime"]).ToString("yyyy-MM-dd") + "</span><a href='" + SetInfoPath(dtRs.Rows[tt]["path"].ToString()) + "'";
ff += "target=\"_blank\" title='" + dtRs.Rows[tt]["title"].ToString() + "'>" + dtRs.Rows[tt]["title"].ToString() + "</a></li>";
}

if (i == 0)
{
fileName = "list.html";
ff1 += "<a href=\"list.html?"+random+" \">首页</a> |上一页";
}
else if (i == 1)
{
fileName = "list.html";
ff1 += "<a href=\"list.html?" + random + " \">首页</a> |<a href=\"list.html?" + random + " \">上一页</a>";
}
else
{
fileName = "list_"+i+".html";
ff1 += "<a href=\"list.html?"+random+" \">首页</a> |<a href=\"list_" + Convert.ToInt32(i - 1).ToString() + ".html?"+random+" \">上一页</a>";
}
if (dtRs.Rows.Count < 2)
{
ff1 += "|下一页";
}
else if (i == Convert.ToInt32(t3 - 1))
{
ff1 += "|下一页";
}
else
{
ff1 += "|<a href=\"list_" + Convert.ToInt32(i + 1).ToString() + ".html?"+random+" \">下一页</a>";
}
if (t3 == 1)
{
ff1 += "|<a href=\"list.html?"+random+" \">尾页</a> |页次:" + Convert.ToInt32(i + 1).ToString() + "/" + t3 + "|";
}
else
{
ff1 += "|<a href=\"list_" + Convert.ToInt32(t3 - 1).ToString() + ".html?a="+random+" \">尾页</a> |页次:" + Convert.ToInt32(i + 1).ToString() + "/" + t3 + "|";
}
ff1 += "转到第 <select id=\"list1\" onchange='document.location.href(this.options[this.selectedIndex].value)' size=\"1\" name=\"list1\">";
for (int s = 0; s < t3; s++)
{
if (s == 0)
{
ff1 += "<option value=\"list.html?a="+random+" \" >1</option>";
}

else
{
ff1 += "<option value=\"list_" + Convert.ToInt32(s).ToString() + ".html?a="+random+" \">" + Convert.ToInt32(s + 1).ToString() + "</option>";
}
}

ff1 += "页";
url2 = url2.Replace("{$fy$}", ff1.ToString());//替换分页标签
url2 = url2.Replace(m.ToString(), ff.ToString());
ff1 = "";
ff = "";
try
{
sw = new StreamWriter(HttpContext.Current.Server.MapPath(fileName), false, code);
sw.Write(url2);
time++;
sw.Flush();
sw.Close();

}
catch
{
Label1.Text += "第" + i + "行错误";
}
}

}

}
DateTime endTime = DateTime.Now;
DateTime startTime = Convert.ToDateTime(ViewState["startTime"]);
System.TimeSpan ts = endTime - startTime;
Label1.Text += "一共执行"+time+"个页面";
LblExecTime.Text = "服务器端执行时间: " + ts.Milliseconds.ToString() + " ms";

}
U2008 2009-06-30
  • 打赏
  • 举报
回复
lfywy 2009-06-30
  • 打赏
  • 举报
回复
学习
lfywy 2009-06-30
  • 打赏
  • 举报
回复
改版了,广告太多了
Netcean 2009-06-30
  • 打赏
  • 举报
回复
mark,以后会需要这个,有伪静态的吗?
iuhxq 2009-06-30
  • 打赏
  • 举报
回复
分页不建议做成静态,看看这里:

http://www.svnhost.cn/Article/?k=%E9%9D%99%E6%80%81

可以给首页缓存,把记录数缓存,这样都可以大大提高性能。
可以满足大部分需求。没必要做静态。做伪静态更好。
snoopy83101 2009-06-30
  • 打赏
  • 举报
回复
还在用.aspx写事件的菜鸟路过..
yefengzhixia 2009-06-30
  • 打赏
  • 举报
回复
学习了
sealion0991 2009-06-27
  • 打赏
  • 举报
回复
对的了,新闻的内容是用模板替换,现在主要是不会生成列表,和分页
nosuchtracter 2009-06-27
  • 打赏
  • 举报
回复
本区精华里面有个
你可以看下精华区
你搜索下生成静态页面,很多例子
看你是用模板替换,还是在asp.net页面直接生成静态页面了
wuyq11 2009-06-27
  • 打赏
  • 举报
回复
liuxibei1987 2009-06-27
  • 打赏
  • 举报
回复
关注一下,以后会用上的

62,074

社区成员

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

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

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

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