0

对于分页,我有这段代码,它使我能够更新查询字符串而不会丢失查询字符串中的任何元素。

var tRVD = new RouteValueDictionary(ViewContext.RouteData.Values);

foreach (string key in Request.QueryString.Keys)
{
   tRVD[key] = Request.QueryString[key];
}

tRVD["page"] = @i;
@Html.ActionLink(@i.ToString(CultureInfo.InvariantCulture), "Index", tRVD);

我需要对排序做同样的事情。我有以下代码,但当然查询字符串被 sortby 覆盖。我需要的与分页所需要的相同,如果它不存在,它只是将 sortby 添加到 querstring 并在它存在时更新它。这怎么可能?

<form name="sortbyformtop">
   <select onchange="location.href=this.options[this.selectedIndex].value" name="sortbyselecttop">
      <option value=""></option>
      <option value="sortby=accommodationtype">Accommodation type</option>
      <option value="sortby=mostreviewed">Most reviewed</option>
      <option value="sortby=lowestprice">Lowest price</option>
   </select>
</form>

所以,我想要实现的是将查询字符串设置为与现在相同的值加上 sortby。

4

1 回答 1

1

您需要为<input type="hidden">查询字符串中的每个值添加一个表单。

于 2012-09-20T11:50:43.413 回答