Ric*_*ard 4 asp.net-mvc editortemplates c#-4.0 asp.net-mvc-3
我想在我的ASP.NET MVC3站点中为一些基本模型创建一个通用编辑器.现在,它们可以包含字符串,布尔值,枚举和列表集合.我想要做的是扩展默认编辑器模板以识别List并显示一个自定义编辑器,可以在此列表中添加和删除字符串.所有其他工作都很好.
因为我无法命名文件List.cshtml当然有没有办法让这个工作?另外,为什么enums默认情况下不会删除枚举列表?
我知道我可以创建模型命名模板,但直到运行时我才知道类名.
感谢您的帮助和指导.
Dar*_*rov 14
您可以命名编辑模板Foo.cshtml,其中Foo是列表的类型:List<Foo>.那简单地说:
@Html.EditorFor(x => x.FooList)
Run Code Online (Sandbox Code Playgroud)
如果FooList是IEnumerable<Foo>您的编辑器模板,将自动为该列表的每个元素呈现.因此,如果您已经拥有基本数据类型的编辑器模板,例如String,Decimal,DateTime,......当您执行@Html.EditorFor(x => x.SomeList)编辑器模板时,将会选择模板.