2012-09-20 83 views
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覆蓋。我需要的是和我的分頁一樣,如果它不在那裏,只是添加到查詢字符串中,並且如果是的話就更新它。這怎麼可能?

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

所以,我想要實現的是將querystring設置爲與現在相同的值加上sortby。

+0

我不太瞭解你的問題,也不知道你想達到什麼目的。您能否爲您的問題和細節提供更多的背景知識? –

回答

1

您需要爲查詢字符串中的每個值添加一個<input type="hidden">到您的表單。