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