在服务器端进行。沿着这些思路:
var strPrev="";
var strNext="";
switch(Request.QueryString["p"])
{
case "about":
strPrev="last";
strNext="contact";
break;
case "contact":
strPrev="about";
strNext="last";
break;
case "last":
strPrev="contact";
strNext="about";
}
当然,有一些方法可以更简洁(数组)或使其更灵活(配置文件或数据库)。如果你想朝那个方向走,请告诉我。
更新:这是一个将页面列在数组中的解决方案:
var pages = new string[] { "about", "contact", "last" };
var index = Array.IndexOf(pages, Request.QueryString["p"]);
var previousPage = pages[(index + pages.Length - 1) % pages.Length];
var nextPage = pages[(index + 1) % pages.Length];
在此解决方案中,页面列在数组中(第 1 行)。第二行将文本表示转换为数字(零到二)。如果找不到页面Array.IndexOf
将返回 -1,这表示数组的最后一项(因为环绕)。最后两行从数组中获取上一个或下一个项目,并带有环绕。