我没有收到错误,只是select标签没有显示选项,即使列表中有它们,这是我的viewmodel代码:
public class grupoCRUDModel
{
public int Codigo { get; set; }
public string Nombre { get; set; }
public string NIS { set; get; }
public DateTime FeAcceso { get; set; }
public invmtolinea Linea { get; set; }
public IEnumerable<invmtolinea> Lineas { get; set; }
}
这是我的数据模型代码:
public class invmtolinea
{
public int id { get; set; }
[Required]
[StringLength(100, ErrorMessage = "Maximo de 100 caracteres por nombre")]
public string nombre { get; set; }
[Required]
[StringLength(50)]
public string nis { get; set; }
[Required]
public DateTime feacceso { get; set; }
}
这是我的控制器操作代码:
public IActionResult Editar(int id)
{
var grupo = _grupos.GetById(id);
var lineas = _lineas.GetAll();
var model = new grupoCRUDModel
{
Codigo = grupo.id,
Nombre = grupo.nombre,
Linea = grupo.Linea,
Lineas = lineas
};
return PartialView("form", model);
}
这是我的视图代码,它部分加载了“grupo”模型项的编辑视图:
@model libraryDemo.Models.Grupo.grupoCRUDModel
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Editar</h4>
</div>
<form asp-controller="Grupo" asp-action="Actualizar" method="post">
<div class="modal-body">
<div class="form-group">
<input asp-for="Codigo" class="hidden" />
<input asp-for="Codigo" class="hidden" />
<label asp-for="Nombre"></label>
<input asp-for="Nombre" class="form-control" />
<span asp-validation-for="Nombre"></span> <br />
<label asp-for="Linea"></label>
<select asp-for="Linea" class="form-control" asp-items="@(new SelectList(Model.Lineas,"id","nombre"))" />
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<button type="submit" class="btn btn-primary">Guardar</button>
</div>
</form>