【发布时间】:2010-10-20 17:46:56
【问题描述】:
有没有办法自动将枚举集合传递给 ActionMethod(在 GET 上)?
例如,如果我有以下枚举定义:
enum DaysEnum {Sat, Sun, Mon, Tue, Wed, Thu, Fri};
而且,我有一个 ActionMethod 定义:
ActionResult SampleActionMethod ( List<DaysEnum> days)
有没有一种方法可以在视图中呈现一个可以传入 DayEnums 集合的 URL。比如:
var someDays = new List<DaysEnum> {DaysEnum.Sat, DaysEnum.Sun, DaysEnum.Mon};
Url.Route(new { days = someDays, controller="whatever", action="SampleActionMethod"});
默认模型绑定器似乎不支持这一点,因为我目前正在渲染以下内容:
http://.../System.Collections.Generic.List`1[DaysEnum]
我知道我可以通过手动将集合展平为例如用破折号分隔的字符串来做到这一点,然后在 ActionMethod 中重新创建集合,但我正在寻找更优雅的东西。各种 blog posts 谈论传递集合,但这更多是关于在做 POSTS 时。
【问题讨论】:
标签: asp.net asp.net-mvc-2 c#-4.0