最佳实践IoC on Editortemplate,ASP.NET MVC3

时间:2011-07-19 06:55:20

标签: asp.net-mvc dependency-injection partial-views

我正在使用:

  • Asp.net MVC3
  • Ninject
  • 使用Entity Framework 4.0的存储库模式

在管理页面上,有一个用户可以选择产品组的选项。 下拉列表在EditorTemplates中处于部分视图中。今天的局部视图处理数据访问本身。我的问题是,这种局部观点的最佳做法是什么?

是吗:

  1. 保持原样
  2. 将select移动到由Action呈现的视图,以便Controller可以从Ninject获取其依赖项
  3. 部分视图获取所选产品组的ID以及调用它的视图中的所有组。
  4. 上面我描述了一个特定的场景,但我想这是一个常见的问题,而且我还没有找到一个很好的方法来做到这一点。

2 个答案:

答案 0 :(得分:1)

我不知道,这对你的回答有多大,但我会选择2:)

答案 1 :(得分:1)

只要调用部分视图一次,我就会选择选项2.我会查看MiniProfiler以查看对数据库的所有调用。如果您的观点中有任何内容,则不应该做太多。如果为select中的每个项目调用它,或者如果已经有数据,那么将这些数据直接传递给视图会更快。