asp.net-mvc - 不同程序集中的 MVC 编辑器模板

标签 asp.net-mvc mvc-editor-templates

我想创建一个可以在多个 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/

相关文章:

asp.net - 使用 Web API 和数据库优先策略构建 ASP.Net 应用程序

asp.net-mvc - 在 ASP.NET MVC 中将 DateTime 拆分为日期和时间

.net - ASP.net MVC - 使用 EditorFor 两次相同的模型类型

c# - 如何自动附加到十进制数据类型 DisplayFormatAttribute

asp.net - ASP.NET MVC RC 中的 SetAttemptedValue 发生了什么?

asp.net-mvc - EditorForModel - 使用 editorfor 时出现重复标签

asp.net-mvc - 日期选择器编辑器模板

c# - EditorTemplate 未按预期呈现?

asp.net-mvc - 无法加载文件或程序集 'Microsoft.WindowsAzure.Storage' 或其依赖项之一

asp.net-mvc - ASP.NET MVC 模型绑定(bind)不适用于 AJAX GET,但适用于 Post