mvc cascade下拉列表始终为null

时间:2014-02-27 03:26:14

标签: asp.net-mvc-4

我是这个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);
    }

我在不同的控制器中成功使用了它。我还在学习并变得困惑所以我试着坚持一节课。

那么任何想法如何解决?

0 个答案:

没有答案