在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中完成的快速注释也将受到赞赏(如果方法不同)。

在RouteValueDictionary中添加IEnumerable是可能的吗?

看看这个先前的响应是否对你有帮助(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()));
     }
}
相关文章:
  • 没有找到相关文章