この問題を解決する方法を知っている人はいますか? 検索ボックスがあり、検索フレーズを入力してフォームを送信すると、URL は次のようになります。
http://localhost:50435/Search-Results-For?q=hotels&Option=Web&Page=1
結果が返されたら、ページングできます。URL は次のとおりです。
http://localhost:50435/Search-Results-For/hotels/web/2
しかし、別の検索を行おうとすると、その検索が上記の URL に追加されます。
http://localhost:50435/Search-Results-For/hotels/web/2?q=poole&Option=web&Page=2
これを解決する方法がわかりません。ページャーを部分ビューに入れてパラメーターを変更しようとしましたが、何も機能していないようです。
以前にこの問題が発生したか、解決方法を知っている人はいますか。
ページャ:
<div id="dvPagePager">@Html.PagedListPager((IPagedList)ViewBag.SearchResults, page => Url.Action("Results", new { Page = page, q = @ViewBag.q, Option = @ViewBag.b}), PagedListRenderOptions.OnlyShowFivePagesAtATime)</div>
形:
@using (Html.BeginRouteForm("SearchEngine", FormMethod.Get, new { @id = "frmSearchEngine" }))
{
{ Html.RenderAction("pvSearchForm", "Home"); }
//Html.RenderPartial("~/Views/Shared/pvSearchForm.cshtml");
}
ルート:
routes.MapRoute(
name: "SearchEngine",
url: "Search-Results-For/{q}/{Option}/{Page}",
defaults: new { controller = "Search", action = "Results", q = UrlParameter.Optional, Option = UrlParameter.Optional, Page = UrlParameter.Optional }
);