Asp.net mvc 3 如何获取IEnumerable中的选定项?
这是我的ViewModel:Asp.net mvc 3 如何获取IEnumerable中的选定项?,asp.net-mvc-3,entity,Asp.net Mvc 3,Entity,这是我的ViewModel: //Categoria da Materia public IEnumerable<SelectListItem> ListaCategorias { get; set; } //Categoria Matéria que foi selecionada pelo usuário na área pública public string CategoriaMateriaSelecionada { get; set; } 程序显示一
//Categoria da Materia
public IEnumerable<SelectListItem> ListaCategorias { get; set; }
//Categoria Matéria que foi selecionada pelo usuário na área pública
public string CategoriaMateriaSelecionada { get; set; }
程序显示一个错误:
具有键“CategoriaMaterialElecionada”的ViewData项的类型为“System.String”,但必须为“IEnumerable”类型。
在我进入HTTpPOST的那一刻,listaCategoria是空的,为什么?
为什么这样做不起作用呢?你应该这样做。。。。 此示例仅用于演示
//Categoria da Materia
public IEnumerable<SelectListItem> ListaCategorias
{
get { return GetCategoria(); }
}
我看不出你会发起你的列表分类。
<label class="editor-label">
@Html.LabelFor(model => model.CategoriaMateriaSelecionada)
</label>
<label class="editor-field">
@Html.DropDownListFor(model => model.CategoriaMateriaSelecionada, Model.ListaCategorias)
</label>
[HttpPost]
public ActionResult Novo(NovoViewModel novoViewModel , string imagemCapa)
{
if (ModelState.IsValid)
{
Materia noticia = new Materia()
{
CategoriaMateria = contexto.CategoriaMateria.Find(Convert.ToInt64((novoViewModel.CategoriaMateriaSelecionada))),
Titulo = novoViewModel.Titulo,
Chamada = novoViewModel.Chamada,
Corpo = novoViewModel.Corpo,
DataPublicaco = DateTime.Now,
Status = novoViewModel.Status,
Imagem = contexto.Imagem.Find(Convert.ToInt64(imagemCapa))
};
contexto.Materia.Add(noticia);
contexto.SaveChanges();
return RedirectToAction("Index");
}
return View(novoViewModel);
}
//Categoria da Materia
public IEnumerable<SelectListItem> ListaCategorias
{
get { return GetCategoria(); }
}