protected void Page_Load(object sender, EventArgs e)
{
#region 测试用datatable 数据集合,并插入测试数据
DataTable dt = new DataTable();
dt.Columns.Add("link", typeof(System.String));
dt.Columns.Add("店名", typeof(System.String));
DataRow dr = dt.NewRow();
for (int r = 0; r <= 45; r++)
{
dr = dt.NewRow();
dr[0] = "#";
dr[1] = "店" + r;
dt.Rows.Add(dr);
}
#endregion
int pageNum = 10;//设置每页显示几条数据
int maxnum = dt.Rows.Count;//获取集合总数
Response.Write("总数:" + maxnum);
int pages = 0; //设置总页数
int yu = maxnum % pageNum; //取余主要是要得到要生成多少个页面
Response.Write("取余:" + maxnum % pageNum);
if (yu == 0)
{
pages = maxnum / pageNum;
}
else
{
pages = maxnum / pageNum + 1;
}
Response.Write("pages:" + pages);
string[] newList = new string[pages];//设置列表数组
for (int i = 0; i < pages; i++) //给列表数组赋值
{
for (int o = i * pageNum; o < i * pageNum + pageNum; o++) ///
{
// Response.Write(i+"<br>");
if (o > maxnum - 1) break;
newList[i] = newList[i] + "<li>" + dt.Rows[o][0].ToString() + " " + dt.Rows[o][1].ToString() + "</li>";
}
}
System.Text.Encoding code = System.Text.Encoding.GetEncoding("gb2312");
// 读取模板文件
string temp = HttpContext.Current.Server.MapPath("page/pagemodel.html");
string path = HttpContext.Current.Server.MapPath("page/"); //获取当前路径,路径请根据自身情况设定
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[] ctr = new string[pages];//设置页码数组;
for (int i = 0; i < pages; i++)
{
if (i == 0) //显示首页时
{
ctr[i] = "<a href='New_list_0.html' target='_self'>首页</a> 上一页 <a href='New_list_" + Convert.ToString(i + 1) + ".html' target='_self'>下一页</a> <a href='New_list_" + Convert.ToString((pages - 1)) + ".html' target='_self'>尾页</a>";
}
else if (i == pages - 1)
{ //显示尾页时
ctr[i] = "<a href='New_list_0.html' target='_self'>首页</a> <a href='New_list_" + Convert.ToString(i - 1) + ".html' target='_self'>上一页</a> 下一页 <a href='New_list_" + Convert.ToString((pages - 1)) + ".html' target='_self'>尾页</a>";
}
else
{
ctr[i] = "<a href='New_list_0.html'target='_self'>首页</a> <a href='New_list_" + Convert.ToString(i - 1) + ".html' target='_self'>上一页</a> <a href='New_list_" + Convert.ToString(i + 1) + ".html' target='_self'>下一页</a> <a href='New_list_" + Convert.ToString((pages - 1)) + ".html' target='_self'>尾页</a>";
}
}
for (int i = 0; i < pages; i++) //循环生成静态页面
{
string listStr = str;
listStr = listStr.Replace("$NewList$", newList[i].ToString());
listStr = listStr.Replace("$pages$", ctr[i].ToString());
try
{
StreamWriter sw = new StreamWriter(path + "/New_list_" + i.ToString() + ".html", false, code);
sw.Write(listStr);
sw.Flush();
sw.Close();
sw.Dispose();
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
}
Response.Write("<script>alert('页面生成完毕!')</script>");
}
pagemodel.html模板文件:
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>showtitle</title>
</head>
<body>
<div style="font-size:12px">
$NewList$
<br />
$pages$
</div>
</body>
</html>