假设我们有一个页面,其中包含一些支持从 DB 搜索的元素,因此在 Post Action 中,我们需要找到哪些元素是活动的,并据此创建路由值,如下所示:
List<Parameter> SearchParameters = GetFilterParameters(collection);
if(SearchParameters.Count > 0)
foreach(Parameter item in SearchParameters) {
switch(item.Name) {
case "Category":
CategoryValue= item.Value;
break;
case "StartDate":
StartDateValue= item.Value;
break;
case "Product":
ProductValue= item.Value;
break;
}
return RedirectToAction("Index", new {category = CategoryValue, startdate=StartDateValue, product=ProductValue });
那么有没有办法routeValues
动态定义类似以下伪代码的东西:
var dynamicRoutValues;
foreach(Parameter item in SearchParameters) {
dynamicRoutValues.Add(item.Name, item.Value)
}
return RedirectToAction("Index", dynamicRoutValues);