我是这个CodeProject示例中的示例的初学者: MVC级联Ajax下拉的简单实现 作者:Raymund Macaalay,2011年9月21日。
他的例子用他提供的种子数据填充了DD。以下是相关的信息:
public ActionResult Index()
{
ProductCatalog productCatalog = new ProductCatalog();
productCatalog.Categories = ProductCatalog.GetCategories();
return View(productCatalog);
}
和他的班级:
public class ProductCatalog
{
public int? SelectedCategoryId { get; set; }
public int? SelectedSubCategoryId { get; set; }
public IEnumerable<Category> Categories { get; set; }
public IEnumerable<SubCategory> SubCategories { get; set; }
public IEnumerable<Product> Products { get; set; }
public static IEnumerable<Category> GetCategories()
{
List<Category> categories = new List<Category>();
categories.Add(new Category() { Id = 1, Name = "Electronics" });
categories.Add(new Category() { Id = 2, Name = "Gaming" });
categories.Add(new Category() { Id = 3, Name = "Mobile Phone" });
return categories;
}
相反,我正在尝试从我的上下文填充数据。另请注意,该模型位于我的“基础”MVC项目中。该控制器和BF_VM位于AREA中。
public ActionResult Index()
{
BF_viewM bf_viewm = new BF_viewM();
bf_viewm.Builders = List<Builder>();
return View(bf_viewm);
}
我的观点模型:
public class BF_viewM
{
public int? BuilderID { get; set; }
public int? SubdivisionID { get; set; }
public int? LotID { get; set; }
public int? TaskID { get; set; }
public int? Stepseq { get; set; }
//but a collection of these
public IEnumerable<Builder> Builders { get; set; }
public IEnumerable<Subdivision> Subdivisions { get; set; }
public IEnumerable<Lot> Lots { get; set; }
public IEnumerable<Task> Tasks { get; set; }
}
所以我不得不用他的.GetCategories()概念替换来从模型中获取数据。
我的尝试,bf_viewm.Builders = List <Builder>();
失败。我试过= new List<Builder>
();和db.Builders.ToList();相同的结果,count = 0.值null
我尝试了其他一些变种,但没有运气。
另一个例子使用了这个概念:
ModelDbContext db = new ModelDbContext();
public ActionResult Index()
{
Model model = new Model
{
Countries = db.Countries.ToList()
};
return View(model);
}
我在不同的控制器中成功使用了它。我还在学习并变得困惑所以我试着坚持一节课。
那么任何想法如何解决?