Asp.net mvc 实体:下拉列表不在编辑模式下工作

Asp.net mvc 实体:下拉列表不在编辑模式下工作,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我创建了一个下拉列表,其中填充了来自不同表的数据。它和Create一起工作,但在编辑文件时不起作用 这是我的模特的收藏品 [Display(Name = "Branch")] [Required(ErrorMessage = "Required!")] public Nullable<int> branchid { get; set; } [NotMapped] public List<branchList> branchList

我创建了一个下拉列表,其中填充了来自不同表的数据。它和Create一起工作,但在编辑文件时不起作用

这是我的模特的收藏品

[Display(Name = "Branch")]
[Required(ErrorMessage = "Required!")]
public Nullable<int> branchid { get; set; }

[NotMapped]
public List<branchList> branchListCollection { get; set; }

当我尝试更新时,它抛出一个“对象引用未设置为对象的实例”,我在创建“创建”时遇到了相同的错误,但这只是因为SelectList方法的参数不正确。我确信这些参数对于编辑是正确的,因为下拉列表已填充。我现在也不知道如何在详细信息页面上显示数据,它只显示id。谢谢

排除故障后,我发现我在婚姻状况模型上进行的javascript验证导致了该错误。如果用户选择“单身”作为婚姻状况,此验证将隐藏配偶姓名字段。结果“配偶姓名”字段变为null,触发“对象引用”错误,只要配偶姓名不为null,则下拉列表有效。我不知道这为什么会影响下拉列表,现在我将尝试编辑javascript验证。
 public ActionResult Edit(int id)
        {
            ClearanceDB clearanceDB = new ClearanceDB();
            using (ClearanceModels dbModel = new ClearanceModels())
            {
                if (id != 0)
                clearanceDB = dbModel.ClearanceDBs.Where(x => x.id == id).FirstOrDefault();
                clearanceDB.branchListCollection = dbModel.branchLists.ToList<branchList>();
       

                return View(clearanceDB);
            }
        }
 @Html.DropDownListFor(model => model.branchid, new SelectList(Model.branchListCollection, "branchid", "clearanceBranchName"), "Select", htmlAttributes: new { @class = "form-control" })