我完全新的ASP.net MVC实现对象的集合,在我看来模型 - ASP.net MVC
我有两个模型首先是
类public class Category
{
public virtual int Id { get; set; }
[Required]
public virtual string CategoryName { get; set; }
public virtual List<SubCategory> SubCategories { get; set; }
}
和下一子类别模型:
public class SubCategory
{
public virtual int Id { get; set; }
public virtual int CategoryId { get; set; }
[Required]
public virtual string SubCategoryName { get; set; }
public virtual Category Category { get; set; }
public virtual List<Question> Questions { get; set; }
}
我需要我的类别列表,也都在我看来,子类别列表,所以这是我的视图模型
public class CategorySubCategoryViewMoel
{
public ICollection<Category> Category { get; set; }
public SubCategory SubCategory { get; set; }
}
,这里是我的观点
@model FinalSearch5.Models.CategorySubCategoryViewMoel
<ul>
@foreach (var category in Model.Category)
{
<li>@category.CategoryName</li>
}
</ul>
这里是我的控制器
public ActionResult Index()
{
var cats = db.Categories.ToList();
return View(cats);
}
这不是一个完全实现还没有,但直到这里还有一个错误
模型项目通过到字典中的类型是'System.Collections.Generic.List1 [FinalSearch5.Models.Category],但是这个字典需要一个模型项目类型'FinalSearch5.Models.CategorySubCategoryViewMoel'。
欣赏如果帮助我什么是问题谢谢。
的可能的复制[两种型号在一个视图中的ASP MVC 3](http://stackoverflow.com/questions/5550627/two-models -in-one-view-in-asp-mvc-3) – Aravind
错误信息是不言自明的(你的视图期望'CategorySubCategoryViewMoel',但是你传递它'List''Category'包含一个'SubCategory'的集合,你需要一个视图模型与2个独立的集合 - 当然你想要显示每个类别,并为每个类别,它的集合SubCategory(即嵌套'foreach'循环) –
@Aravind谢谢你。我检查了一些相关问题。我的问题是,我有一个视图莫我的类别的集合德尔。如果我省略了这个集合,我在这一行中有编译错误'@foreach(Model.Category中的var类)' –