在RouteValueDictionary中添加IEnumerable是可能的吗?
本文关键字:RouteValueDictionary 添加 IEnumerable | 更新日期: 2023-09-27 18:05:40
我正在使用ASP。Net MVC 2,我有一个小问题。我需要从一个值列表中生成一个url。
使用以下代码:
RouteValueDictionary dic = new RouteValueDictionary();
dic.Add("mylist", new [] { 1, 2, 3 });
return helper.Action(dic["action"] as string, dic["controller"] as string, dic);
我得到url /whatever/System.Int32[]
,这显然不是我想要的。
ASP是什么?Net MVC 2首选的方式生成这样的URL?我知道模型绑定器可以处理列表,但是如何生成它呢?
一个关于如何在MVC 3中完成的快速注释也将受到赞赏(如果方法不同)。
看看这个先前的响应是否对你有帮助(mvc 3将是相同的-它与asp.net 4的一部分相同的路由引擎)
ASP。. NET MVC -在Html.ActionLink(…)中传递数组对象作为路由值
你总是可以用一个ToString()
覆盖来打印你想要的List类。这似乎是最简单的(但也许是最"低俗"的)方法。
public MyRouteList<T> : List<T>
{
public override string ToString()
{
return string.Join("&", this.Select(x => "list=" + x.ToString()));
}
}