サーバー側で実行します。それらの線に沿った何か:
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)。2行目は、テキスト表現を数値(0から2)に変換します。ページが見つからない場合はArray.IndexOf
-1が返されます。これは、配列の最後の項目を表します(ラップアラウンドのため)。そして最後の2行は、配列から前または次の項目をラップアラウンドで取得します。