0

有谁知道如何解决这个问题,我有一个搜索框,当我输入搜索短语并提交表单时,网址是:

http://localhost:50435/Search-Results-For?q=hotels&Option=Web&Page=1

返回结果后,我可以分页,网址为:

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 回答