老话题:求助CSDN上的高手指教,实现静态分页!!不要求像alibaba那么强,也要和QQ的差不多。 最近有个项目,要求分页做成静态的那种,我是新手,这种问题我不知道如何下手,请高手指教!!!如果数据两比较大的话,只需要重新生成一,两个页面就好,更新一条数据就全部重新生成的那种不太好。求高手指教!!!有源码更好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 格人觉得 盲目生成 html 是对 数据库的 浪费 和侮辱。 xiahouwen(武眉博<活靶子.NET>)格人觉得 盲目生成 html 是对 数据库的 浪费 和侮辱。=========================顶 静态页不仅仅速度快,还稳定,我在做.net的时候经常出现丢失时间的情况,不知道大家有没有遇到过。请CSDN上的高手指教!! 算了.我还发一个给你吧..先读模板数据,然后替换里面的字段..接着分页~../// <summary> /// 生成内容页 /// </summary> /// <param name="id"></param> private void makeshow(int id) { //path code string path = Server.MapPath("..\\") + "Article\\"; string strzw = ""; string strcss = ""; dbcon inf = new dbcon(); inf.getstrsql = "Select top 1 [info] from [System]"; inf.datareadopen(true); string[] info = inf.gettb.Split(','); string siteurl = info[1]; dbcon t = new dbcon(); t.getstrsql = "select top 1 [ColumnName],[ColumnId],[Title],[Content],[ViewNum],[CommentNum],[Author],[Source] from [content] where id=" + id; t.datareadopen(); t.getodr.Read(); //con dbcon tempid = new dbcon(); tempid.getstrsql = "Select [Article_TempId] from [Column] where id=" + Convert.ToString(t.getodr["ColumnId"]); tempid.datareadopen(true); dbcon mb = new dbcon(); mb.getstrsql = "select top 1 [Page_Head],[Page_View],[Page_Foot],[Page_Css] from [Template] where id="+tempid.gettb; mb.datareadopen(); mb.getodr.Read(); strzw = Convert.ToString(mb.getodr["Page_Head"]) + Convert.ToString(mb.getodr["Page_View"]) + Convert.ToString(mb.getodr["Page_Foot"]); strcss = Convert.ToString(mb.getodr["Page_Css"]); string htmlfilename = "Article" + id + ".html"; mb.closedataread(); strzw = strzw.Replace("{$artTitle$}", Convert.ToString(t.getodr["title"])); strzw = strzw.Replace("{$artCSS$}", strcss); strzw = strzw.Replace("$ArticleTitle$", Convert.ToString(t.getodr["title"])); strzw = strzw.Replace("$ArticleAuthor$", Convert.ToString(t.getodr["Author"])); strzw = strzw.Replace("$ArticleFrom$", Convert.ToString(t.getodr["Source"])); strzw = strzw.Replace("$ArticleViewTotal$", Convert.ToString(t.getodr["ViewNum"])); strzw = strzw.Replace("$ArticleCommentTotal$", Convert.ToString(t.getodr["CommentNum"])); string[] npage = Regex.Split(Convert.ToString(t.getodr["Content"]), "NextPage", RegexOptions.IgnoreCase); int j = npage.Length; //写出分页 string npnum = "本文章共" + j + "页 第<a href=Article" + id + ".html> 1 </a>"; if (j > 1) { for (int x = 1; x < j + 1; x++) { if (x != 1) { npnum += "<a href=Article" + id + "_" + x + ".html> " + x + " </a>"; } } } npnum += " 页"; strzw = strzw.Replace("$PageNum$", npnum); string bstrzw = strzw; for (int k = 0; k < j; k++) { strzw = bstrzw; strzw = strzw.Replace("$ArticleText$", npage[k]); strzw = strzw.Replace("$SystemPath$", siteurl); if (k == 0) { wfile(path + htmlfilename, strzw); } else { wfile(path + "Article" + id + "_" + (k + 1) + ".html", strzw); } } t.closedataread(); } /// <summary> /// 根据字符串写文件 /// </summary> /// <param name="filename"></param> /// <param name="strzw"></param> private void wfile(string filename, string strzw) { Encoding code = Encoding.GetEncoding("gb2312"); //stream StreamWriter sw = null; try { sw = new StreamWriter(filename, false, code); sw.Write(strzw); sw.Flush(); Response.Write(filename + " Successful!<br>"); } catch (Exception ex) { HttpContext.Current.Response.Write(ex.Message); HttpContext.Current.Response.End(); } finally { sw.Close(); } } 忘记说了我用的手动分页分页标准是nextpage 发邮件时候报错:由于目标机器积极拒绝,无法连接118.26.232.136:25 存储过程 问个数据长度验证的问题 在ASP.NET中,如何输出日志文件 求助大牛~! 在线等。速度来呀。。 里面的判断总是出错,请朋友请点 DataGrid 更新数据问题 紧急求助:网页输入域填写时或鼠标快速划动会无故失去焦点!! 大家近来看看:为什么我这DataGrid的HeaderText会发生变化呢? 在gridview中的checkbox的问题 请位各位高手我想找个ASP.NET的完整程序来学习,什么比较适合呢?
格人觉得 盲目生成 html 是对 数据库的 浪费 和侮辱。=========================
顶
请CSDN上的高手指教!!
接着分页~..
/// <summary>
/// 生成内容页
/// </summary>
/// <param name="id"></param>
private void makeshow(int id)
{
//path code
string path = Server.MapPath("..\\") + "Article\\";
string strzw = "";
string strcss = ""; dbcon inf = new dbcon();
inf.getstrsql = "Select top 1 [info] from [System]";
inf.datareadopen(true);
string[] info = inf.gettb.Split(',');
string siteurl = info[1]; dbcon t = new dbcon();
t.getstrsql = "select top 1 [ColumnName],[ColumnId],[Title],[Content],[ViewNum],[CommentNum],[Author],[Source] from [content] where id=" + id;
t.datareadopen();
t.getodr.Read();
//con
dbcon tempid = new dbcon();
tempid.getstrsql = "Select [Article_TempId] from [Column] where id=" + Convert.ToString(t.getodr["ColumnId"]);
tempid.datareadopen(true);
dbcon mb = new dbcon();
mb.getstrsql = "select top 1 [Page_Head],[Page_View],[Page_Foot],[Page_Css] from [Template] where id="+tempid.gettb;
mb.datareadopen();
mb.getodr.Read();
strzw = Convert.ToString(mb.getodr["Page_Head"]) + Convert.ToString(mb.getodr["Page_View"]) + Convert.ToString(mb.getodr["Page_Foot"]);
strcss = Convert.ToString(mb.getodr["Page_Css"]);
string htmlfilename = "Article" + id + ".html";
mb.closedataread(); strzw = strzw.Replace("{$artTitle$}", Convert.ToString(t.getodr["title"]));
strzw = strzw.Replace("{$artCSS$}", strcss);
strzw = strzw.Replace("$ArticleTitle$", Convert.ToString(t.getodr["title"]));
strzw = strzw.Replace("$ArticleAuthor$", Convert.ToString(t.getodr["Author"]));
strzw = strzw.Replace("$ArticleFrom$", Convert.ToString(t.getodr["Source"]));
strzw = strzw.Replace("$ArticleViewTotal$", Convert.ToString(t.getodr["ViewNum"]));
strzw = strzw.Replace("$ArticleCommentTotal$", Convert.ToString(t.getodr["CommentNum"]));
string[] npage = Regex.Split(Convert.ToString(t.getodr["Content"]), "NextPage", RegexOptions.IgnoreCase);
int j = npage.Length;
//写出分页
string npnum = "本文章共" + j + "页 第<a href=Article" + id + ".html> 1 </a>";
if (j > 1)
{
for (int x = 1; x < j + 1; x++)
{
if (x != 1)
{
npnum += "<a href=Article" + id + "_" + x + ".html> " + x + " </a>";
}
}
}
npnum += " 页";
strzw = strzw.Replace("$PageNum$", npnum);
string bstrzw = strzw;
for (int k = 0; k < j; k++)
{
strzw = bstrzw;
strzw = strzw.Replace("$ArticleText$", npage[k]);
strzw = strzw.Replace("$SystemPath$", siteurl);
if (k == 0)
{
wfile(path + htmlfilename, strzw);
}
else
{
wfile(path + "Article" + id + "_" + (k + 1) + ".html", strzw);
}
}
t.closedataread();
}
/// <summary>
/// 根据字符串写文件
/// </summary>
/// <param name="filename"></param>
/// <param name="strzw"></param>
private void wfile(string filename, string strzw)
{
Encoding code = Encoding.GetEncoding("gb2312");
//stream
StreamWriter sw = null;
try
{
sw = new StreamWriter(filename, false, code);
sw.Write(strzw);
sw.Flush();
Response.Write(filename + " Successful!<br>");
}
catch (Exception ex)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
finally
{
sw.Close();
}
}
我用的手动分页分页标准是nextpage