从RouteValueDictionary对象创建字符串/查询字符串



我为不同的用途创建了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})

或者任何正确的方法。

有几种方法可以做到这一点。其中之一是使用LINQ:

var result = RouteData.Select(s => string.Format("{0}={1}", s.Key, s.Value))
.Aggregate((current, next) => string.Format("{0}|{1}", current, next));

相关内容

  • 没有找到相关文章

最新更新