我有一个类型的视图作为项目(我创建一个类)与窗体里面添加项目到我的数据库。该项目类有一个属性叫做分类是一个List(类别有2个属性ID和姓名),在我看来,使用editorforasp.net mvc 3模型具有复杂的属性和复选框
林:
<div>
@(Html.EditorFor(e => e.Categories, "Categories"))
</div>
我创建了一个名为“Categories.cshtml”的EditorTemplatefor呈现所有可用的类别:
@{
Layout = null;
}
@model List<Category>
@{
foreach (Category category in ((BaseController)this.ViewContext.Controller).BaseStateManager.AvailableCategories)
{
@Html.Label("test", category.Name)
<input type="checkbox" name="Categories" value="@(category.ID)" />
}
}
复选框被良好呈现(一个用于在高速缓存中每个可用类别),但点击了一些后,并张榜公布的形式,即时接收我的项目的实例,但与物业类别空。
我需要做什么来接收我的列表类别提交表单后完全实例化?
谢谢肖恩,真的很有用。我有最后一个疑问,我必须打印所有缓存类别。对于编辑一个项目,我需要显示缓存中的所有类别,但检查了我的项目所具有的类别。你如何解决这个问题?感谢和问候。 – Jose3d 2011-05-28 16:32:54
创建一个视图模型,它将与视图中的内容完全相同。因此,在将模型传递给编辑器之前,复选框的布尔属性应该已经被处理。 – 2011-05-28 16:45:02