我想创建一个可以在多个 MVC 项目(首选 MVC 4)中使用的通用程序集。该程序集必须为基本类型提供编辑器模板。例如,日期选择器。我怎样才能做到这一点?
我知道有两种方法可以实现类似的目标,但我不喜欢这些。一种方法是忘记 MVC 的模板系统并提供自定义 HtmlHelper 扩展,例如 @Html.MyOwnDatePickerFor(x=>x.Field)
。我知道一些 UI 框架可以做到这一点。我不喜欢它,因为它不透明(@Html.EditorFor()
不会自动拾取它),而且在 MVC 中有一个编辑器模板系统而不使用它感觉很奇怪。另一种方法是实际的 MVC 模板系统,通过创建名为 EditorTemplates/datatype.cshtml (或 .ascx)的部分 View ,但它不起作用,因为它们必须位于 MVC 项目中,我不知道如何可以在多个项目之间共享这些。
有什么建议吗?
最佳答案
我们有一些类提供与 editorfor
等效的功能,但被不同的 HTML 包围。我们有一个用于 @Html.CMSEditorFor(m => m.Name)
,它使用与我们的内容管理系统相同的 HTML,还有一个用于 @Html.BootstrapEditorFor(m => m.Name) )
以一种很好的 Bootstrap 兼容方式生成 HTML。
尽管这个想法直接来自这里,但我不能声称它有任何功劳。 ASP.NET MVC 3 Custom HTML Helpers- Best Practices/Uses
关于asp.net-mvc - 不同程序集中的 MVC 编辑器模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20378061/