EditorFor我模型中的项目集合

Ben*_*kel 21 viewmodel editorfor asp.net-mvc-3

我的ViewModel有一个属性,它是我的另一个模型实体的集合,在本例中是CategoryTags(并且每个标记都有一个Tag和一个ID).

1)我是否理解Html.EditorFor()没有可以为ICollection创建的UI?

2)假设#1,我决定创建一个EditorTemplate,这是一个文本框,我的用户可以键入以逗号分隔的标记名称,jquery将自动完成.我是否必须传回标签名称列表(或其各自的ID),然后在POST时将它们解析回CategoryTags propety?

谢谢!

Ada*_*SFT 19

  1. 正确 - 您需要自己的模板(参见http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3)
  2. 是的,这可以工作 - 模型绑定器将正确填充如果它们被命名为正确的id [0],等等.请参阅Phil Haack关于此的文章:http: //haacked.com/archive/2008/10/23/model-结合到一个-list.aspx

编辑为#2 - 我读错了你原来的帖子.如果将它们全部放入单个文本框中,则需要解析它们(或创建自己的模型绑定器).你可以有一个编辑器为每个项目添加新的文本框到DOM,然后模型绑定器将正确地重新填充列表.但是,在您提到的情况下,您的选项是在服务器上手动执行此操作,或使用您自己的模型绑定器(这在这里相当容易)将它们分解为模型.两者任一 : )