プロジェクト内のすべてのコントローラは、エンティティ モデルのプロパティを持つベース コントローラから継承します。
世界の都市を表示するビューがあり、国でフィルター処理するオプションがあるとします。国フィルターは、データベースからの国のドロップダウン リストです。ドロップダウン リストの 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 に国のコレクションを配置する必要がありますか?)