我为不同的用途创建了UrlHelper
个扩展功能。现在我正在创建一个接受三个参数的函数,如:
url.cutomAction(action, controller, new RouteValueDictionary{{key,value},{..},.. });
在扩展函数中,我将取RouteValueDictionary
并迭代它,如下所示:
foreach (var data in RouteData)
{
data.Key, data.Value.ToString();
}
但现在我需要知道,在迭代这些键和值时,如何生成字符串或查询字符串,如:
(key = value, key1 = value1, key2 = value2, ...)
所以我可以创建一个最终的URL并在其中传递此字符串,如:
return helper.Action(action, controller, new {above_Generated_string})
或者无论做什么都是正确的方法。
答案 0 :(得分:1)
有几种方法可以做到。其中一个是使用LINQ:
var result = RouteData.Select(s => string.Format("{0}={1}", s.Key, s.Value))
.Aggregate((current, next) => string.Format("{0}|{1}", current, next));