2009-04-02 19 views
0

私が取り組んでいるサイトの基本的な検索機能を実装しています。RouteLinkのPersist QueryStringパラメータ

<%= Html.RouteLink("<< Previous Page", new { page = (Model.PageIndex - 1) }) %> 

<%= Html.RouteLink("Next Page >>", new { page = (Model.PageIndex + 1) }) %> 
:私はに類似し、ページングのリンクを提供して、検索結果ページに、その後いくつかのコードを持っている

// 
// GET: /BeautySchoolDropouts/Search?page=2&q=grease 

public ActionResult Search(int? page, string q) 
{ 
    //Implementation 
} 

:クリーンな方法は、これまでと同様の方法署名とアクションを作成することのようです

私はRouteLinkメソッドの一部としてルート値を提供しているので、クエリ文字列のどの部分をqにす​​ることは不可能ですか?今のところ、リンクは/ BeautySchoolDropouts/Search?page = 2のみを生成します。なぜなら、私は検索の目的がわからないために明らかに問題を引き起こします。

答えて

1

これは、モデルにクエリ文字列を置いていると仮定して動作すると思います(このコードではModel.QueryStringを使用しています;ここでは「クエリ文字列」と言っていますが、クエリ文字列);私はクエリ文字列全体を永続化したいとは思わないでしょうか?ページ= 1 & q =何でも&ページ= 2 &ページ= 3。

+0

ええ、それは複数のページが追加されることについての良い点です - それについては考えていませんでした。 – jerhinesmith