4

我希望在我的 ASP.NET MVC3 站点中为一些基本模型创建一个通用编辑器。现在它们可以包含字符串、布尔值、枚举和列表集合。我想要做的是扩展默认编辑器模板以识别列表并显示一个自定义编辑器,该编辑器可以向该列表添加和删除字符串。所有其他工作都很好。

因为我当然不能命名文件 List.cshtml 有没有办法让它工作?另外为什么默认情况下枚举不下拉枚举列表?

我知道我可以创建名为模板的模型,但直到运行时我才知道类名。

感谢您的任何帮助和指导。

4

1 回答 1

14

您可以将编辑器模板命名为列表Foo.cshtmlFoo类型:List<Foo>。然后简单地说:

@Html.EditorFor(x => x.FooList)

如果FooList是,IEnumerable<Foo>您的编辑器模板将自动为该列表的每个元素呈现。因此,如果您已经拥有基本数据类型(如字符串、十进制、日期时间等)的编辑器模板,那么@Html.EditorFor(x => x.SomeList)您的编辑器模板将被选中。

于 2011-03-14T20:56:57.037 回答