1

是否有可能以某种方式利用 Asp.net MVC 3 中的依赖注入(使用 Forms ViewEngine)从另一个库中注入 UserControls?我已经在使用 MEF 将其他一些东西加载到我的 MvcApplication 中。

我需要这个,因为我想构建一个具有可扩展类型系统的系统。我希望类型供应商能够为提供的类型注入自定义控件。我已经有一个自定义 MetadataProvider 知道如何处理提供的类型(它设置 ModelMetadata.TemplateHint 属性)。

问题是我可以在哪里插入 MEF,以便正确处理 TemplateHint,并在调用 Html.EditorForModel 时显示自定义控件

4

1 回答 1

2

我想不出使用 MVC 3 beta 中当前的 Service Locator 基础设施来做到这一点的方法。不过,我可以想到 2 种替代方法:

  1. 拥有一个编辑器模板,而不是将 HTML 委托呈现给您的自定义控件并返回它们的输出。
  2. 编写您自己的 ViewEngine 来执行部分视图的查找(路径将采用“EditorTemplates/YourTypeName”等形式)并返回一个知道如何与您的自定义控件对话的视图。
于 2010-10-07T19:16:33.470 回答