我是mvc中的全新新手
我首先使用代码创建了一个MVC项目
我有这三个模型:
首先是Category
模型,其中包括主要类别:
public class Category
{
public virtual int Id { get; set; }
[Required]
public virtual string CategoryName { get; set; }
public virtual List<SubCategory> SubCategories { get; set; }
}
每个类别都有一些SubCategory
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; }
}
并且每个Sub Category
都有一个Questions
列表:
public class Question
{
public virtual int Id { get; set; }
public virtual int SubCategoryId { get; set; }
public virtual string Qu { get; set; }
[AllowHtml]
[UIHint("tinymce_full_compressed")]
public virtual string Ans { get; set; }
public virtual List<KeyWord> KeyWord { get; set; }
public virtual SubCategory SubCategory { get; set; }
}
我在Asp.net MVC中使用了Scaffolding来创建一个用户可以插入它的问题的页面。但在插入问题之前,用户必须选择它的类别,然后选择它的子类别(都有下拉选择器)然后写下它的问题和答案文本。但脚手架的结果有点复杂。
@model FinalSearch5.Models.Question
它显示所有子类别无法首先选择类别,如果我有两个具有相同名称但不同类别的子类别无法找出要选择的类别。
我知道我需要添加另一个下拉列表并使用类别列表中提供的列表初始化它然后调用ajax但首先我不知道我的模型中要更改的内容。我创建此视图模型替换问题模型,但仍然正常工作。我需要一些建议如何实现这种cascadin dropdownlist
public class CategorySubCategoryViewMoel
{
public Category Category { get; set; }
public SubCategory SubCategory { get; set; }
public ICollection<Question> Questions { get; set; }
}