C# ASP核心MVC脚手架选择列表(RC1)未填充数据
我有三个asp mvc模型 单位 [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UnitId{get;set;} [必需] [第25段] 公共字符串UnitName{get;set;} 银行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; }
[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
关联。请使用的可能重复项,更干净,更易于调试代码。