私はすでにASP.Net MVC でページングとルーティングを見てきましたが、それをうまく機能させることができません。
私のホームページでは、ページング用に次のきれいな URL を生成したいと考えています。
http://mysite
http://mysite/2
http://mysite/3
ルーティングしないと、ページャーによって生成されるデフォルトの URL は次のようになります。
http://mysite/?page=1
http://mysite/?page=2
http://mysite/?page=3
これまでの私の RouteCollection は次のとおりです。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"HomePaging",
"{page}",
new { controller = "Home", action = "Index" },
new { page = @"\d+" },
new[] { "MySite.Controllers" });
routes.MapRoute(
"HomePagingFirst",
"{controller}",
new { controller = "Home", action = "Index", page = 1 },
new[] { "MySite.Controllers" });
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MySite.Controllers" });
}
これにより、次のルートが生成されます。
http://mysite/1
http://mysite/2
http://mysite/3
これにより、最初のページの非正規ルートが生成されるだけでなく、次のように生成されるすべてのリンク@Html.ActionLink("my site", "Index", "Home")
に現在のページのページ番号が追加されます。
これを行う方法はありますか?できれば、簡単な説明と回答をいただければ幸いです。