静态页更新,如果文章的分类显示列表页(多页)
问题是这样的:
比如我做了一个文章管理系统,前台生成了静态页,
就拿文章的分类显示列表页来说,比如有一个ClassID为3的文章分类
我会根据页尺寸生成3_1.aspx,3_2.aspx,...... 3_200,3_201,...这样的页面。
1.如果我在该类别下添加了文章,如何更新对应列表页?
2.如果我在该类别下删除了文章,如何更新对应列表页?
对更新操作有以下要求:
1.不能采用全部更新分类页的方式(因为如果记录过多,效率太低)
顺便给出我的静态页生成方式:
1. /// <summary>
/// Make
/// </summary>
/// <param name="url"></param>
/// <param name="toPath"></param>
public static void Make(string url,string toPath)
{
HttpContext context = HttpContext.Current;
string AppPath = context.Request.PhysicalPath;
if (NeedMake(AppPath) == false) return;
StreamWriter sw = new StreamWriter(AppPath, false, Encoding.GetEncoding("GB2312"));
context.Server.Execute(url, sw);
sw.Close();
}
2. /// <summary>
/// ModuleRewriter_BeginRequest
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
public void ModuleRewriter_BeginRequest(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication) source;
HttpContext context = application.Context;
string newPath = null;
string path = context.Request.Path;
bool isReWritten = RewriteUrl(path,out newPath);
if (isReWritten && newPath != null)
{
FileMaker.Make(newPath, path);
}
}
3.
<urls>
<!--
****************
注意, 在url查询字符串中,字符 ^ 将被字符 & 替换.
the value is replace when the SiteUrls.config file is processed.
****************
-->
<url name="cat_show" pattern="/Article/Cat/(\d+).aspx" vanity="/Article/SrvPort/class_list.aspx?class_id=$1"/>
<url name="aritcle_show" pattern="/Article/File/(\d+).aspx" vanity="/Article/SrvPort/article_show.aspx?id=$1"/>
<url name="class_show" pattern="/Article/Class/(\d+)_(\d+).aspx" vanity="/Article/SrvPort/class_show.aspx?class_id=$1^page_id=$2"/>
<url name="article_default" pattern="/Article/Default.aspx" vanity="/Article/SrvPort/Default.aspx"/>
</urls>