0

この問題を解決する方法を知っている人はいますか? 検索ボックスがあり、検索フレーズを入力してフォームを送信すると、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 }
            );
4

1 に答える 1

0

フォームを標準の html フォームにすることでこの問題を解決し、http で URL.Action を追加しました。これにより、新しい投稿を行うときに URL が強制的に更新されました。

于 2013-03-04T22:55:43.310 に答える