簡體   English   中英

在RouteLink上保留QueryString參數

[英]Persist QueryString parameter on RouteLink

我正在為我正在工作的網站實現基本的搜索功能。 到目前為止,最干凈的方法似乎是使用類似於以下方法的簽名創建一個動作:

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

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

然后在搜索結果頁面上有一些代碼,該頁面提供類似於以下內容的分頁鏈接:

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

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

由於我將路由值作為RouteLink方法的一部分提供,是否不可能保留q =查詢字符串的任何部分? 現在,這些鏈接僅生成/ BeautySchoolDropouts / Search?page = 2,這顯然會引起問題,因為我不知道搜索的目的是什么。

我認為這將在您將查詢字符串放在模型的某個地方的情況下起作用(此代碼使用Model.QueryString;請注意,當我在此處說“查詢字符串”時,我在說的是查詢參數,而不是HTTP查詢字符串); 我不認為您要保留整個查詢字符串,因為那樣您會得到?page = 1&q = whatever&page = 2&page = 3。

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

<%= Html.RouteLink("Next Page >>", new { page = (Model.PageIndex + 1), q = Model.QueryString }) %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM