使用Helper方法从模型加载DropDownList

时间:2012-06-22 14:57:07

标签: asp.net-mvc asp.net-mvc-3

我有一堆常用的列表,需要填充下拉列表。而不是在这里定义带有列表的ViewModel是我正在做的事情。

@Html.DropDownListFor(model => project.TypeID, new SelectList(@PSS.Helpers.ProjectTypes.ProjectTypesList(),"id","name"))

其中Helper类定义如下

namespace PSS.Helpers
{
    public class ProjectTypes
    {
        public static List<ProjectType> ProjectTypesList()
        {
            MyContext db = new MyContext();
            return db.ProjectTypes.ToList<ProjectType>();

        }
    }
}

这样做有什么不对吗?我打破任何规则吗?

1 个答案:

答案 0 :(得分:1)

使用此代码,您可能会比您想要的更多次访问您的数据库。因为每次遇到此帮助程序时,您都要创建一个新的Entity Framework上下文并点击数据库以获取ProjectTypes列表。对我来说,这很糟糕。