【发布时间】:2009-05-19 06:48:51
【问题描述】:
我项目中的所有控制器都继承自基本控制器,该控制器具有我的实体模型的属性。
假设我有一个显示世界城市的视图,它可以选择按国家/地区进行过滤。国家过滤器是数据库中国家的下拉列表。下拉列表的 Html 助手请求 IEnumerable<SelectItem>。
现在有了这些信息,我可以创建一个如下所示的HtmlHelper:
public static IEnumerable<SelectListItem> GetCountries(HtmlHelper htmlHelper)
{
return (from c in ((BaseController) htmlHelper.ViewContext.Controller).Entities.Countries
orderby c.Name
select new SelectListItem() {Text = c.Name, Value = c.ID});
}
问题不是我是否可能,而是根据MVC的做事方式是否可以。 (或者我应该将国家的集合放在控制器内的 ViewData 中?)
【问题讨论】: