C# ASP核心MVC脚手架选择列表(RC1)未填充数据

C# ASP核心MVC脚手架选择列表(RC1)未填充数据,c#,asp.net-mvc,entity-framework,asp.net-core-mvc,C#,Asp.net Mvc,Entity Framework,Asp.net Core Mvc,我有三个asp mvc模型 单位 [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UnitId{get;set;} [必需] [第25段] 公共字符串UnitName{get;set;} 银行 [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int BankId { get; set; }

我有三个asp mvc模型

单位 [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UnitId{get;set;} [必需] [第25段] 公共字符串UnitName{get;set;} 银行

    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int BankId { get; set; }
    [Required]
    [StringLength(25)]
   public string BankName { get; set; } 
银行账户

    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int BankAccountId { get; set; }
    [Required]
    public int BankId { get; set; }
    [Required]
    public int UnitId { get; set; }
    [Required]
    [StringLength(25)]
    public string BankAccountNumber { get; set; }
    public virtual Bank Bank { get; set; }
    public virtual Unit Unit { get; set; }
银行账户控制器

// GET: BankAccounts/Create
    public IActionResult Create()
    {
        ViewData["BankId"] = new SelectList(_context.Bank, "BankId", "Bank");
        ViewData["UnitId"] = new SelectList(_context.Unit, "UnitId", "Unit");
        return View();
    }
**在创建视图VS 2015脚手架代码**

    <div class="form-group">
        <label asp-for="UnitId" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <select asp-for="UnitId" class="form-control"></select>
        </div>
    </div>
    <div class="form-group">
        <label asp-for="BankId" class="col-md-2 control-label"></label>
        <div class="col-md-10">
            <select asp-for="BankId" class ="form-control"></select>
        </div>
    </div>


下拉列表是空的,我如何解决它?

我认为问题在于ViewData和select列表之间缺少关联

可以看出,我认为您需要使用
asp items
ViewData
select
列表绑定

<select asp-for="UnitId" class="form-control" asp-items="HereGoesViewDataOrViewBagForUnits"></select>

控制器新代码

//ViewData["BankId"] = new SelectList(_context.Bank, "BankId", "Bank");
//ViewData["UnitId"] = new SelectList(_context.Unit, "UnitId", "Unit");
ViewData["BankId"] = new SelectList(_context.Set<Bank>(), "BankId", "BankName");
ViewData["UnitId"] = new SelectList(_context.Set<Unit>(), "UnitId", "UnitName");
//ViewData[“BankId”]=新的选择列表(_context.Bank,“BankId”,“Bank”);
//ViewData[“UnitId”]=新的选择列表(_context.Unit,“UnitId”,“Unit”);
ViewData[“BankId”]=新的选择列表(_context.Set(),“BankId”,“BankName”);
ViewData[“UnitId”]=新的选择列表(_context.Set(),“UnitId”,“UnitName”);
新视图代码

<select class="form-control"
                    asp-for="UnitId"
                    asp-items="ViewBag.UnitId"></select>
<select class ="form-control" 
                    asp-for="BankId" 
                    asp-items="ViewBag.BankId"></select>

这个问题可能在这里有答案:。您没有将
ViewData
select
关联。请使用的可能重复项,更干净,更易于调试代码。