我项目中的所有控制器都继承自基本控制器,该控制器具有我的实体模型的属性。
假设我有一个显示世界城市的视图,并且可以选择按国家/地区进行过滤。国家过滤器是数据库中国家的下拉列表。下拉列表的 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 中?)