ASP.net MVC では、Url.RouteUrl
&Html.RouteLink
を使用してページにいくつかのリンクを作成しています。
次のデフォルト ルートを考慮します。
routes.MapRoute(
null,
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
を使用Url.RouteUrl(new { controller = "Products", action = "List", sort = "newest" })
すると URL が生成されます/Products/List?sort=newest
。
これまでのところ、これはまさに私が欲しいものです。達成する方法がわからないのは、次のとおりです。私が現在いる場合/Products/List?sort=newest
。また、ページごとにリストされる製品の数を変更するには、ユーザーに URL を提供する必要があります。
`/Products/List?sort=newest&pagesize=30`
Url.RouteUrl
次の URL を生成するにはどうすればよいですか。
- 現在、sort=newest のページにいる場合、次の値が保持されます: /Products/List?sort=newest&pagesize=30
- 現在、並べ替えのないページにいる場合、並べ替えは省略されます: /Products/List?pagesize=30
私が言いたいことの例として、stackoverflow を見ることができます。質問を見て、おすすめの質問を表示するように変更し、下部のページ サイズをクリックすると、並べ替えは保持されますが、ページ サイズが URL に追加されます。