MVC3-如何覆盖EditorFor IEnumerable的模板/行为

本文关键字:IEnumerable 行为 EditorFor 何覆盖 覆盖 MVC3- | 更新日期: 2023-09-27 18:26:16

我想用我自己的编辑器全局替换默认编辑器。默认值只是为模型中的每个项迭代并创建编辑器。

这不能让您控制html结构(例如,是否使用li元素或表等)。此外,我希望默认编辑器包括任何类型的所有可枚举集合的添加/删除按钮(或者至少用属性打开或关闭)

我还将覆盖defaultmodelbinder,这样我就可以添加额外的功能——我已经知道如何做到这一点了,只是停留在模板部分。

在您询问之前,我已经尝试为类型IEnumerable创建编辑器模板,但它对渲染很挑剔,即使我指定了模板名称。

MVC3-如何覆盖EditorFor IEnumerable的模板/行为

在大多数情况下,您只需要编辑默认的对象模板并进行自己的渲染。

默认模板的实现可在codeplex上的MVC3期货源下载中获得,网址为http://aspnet.codeplex.com/releases

你也可以在上阅读Brad Wilsons关于这个主题的文章(这是针对MVC2的,但它仍然适用)http://bradwilson.typepad.com/blog/2009/10/aspnet-mvc-2-templates-part-3-default-templates.html