【发布时间】:2014-02-24 23:05:26
【问题描述】:
我有一个简单的模型:
public partial class Entidade
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Nome { get; set; }
public virtual Pais Pais { get; set; }
}
与Pais模型相关:
public partial class Pais
{
public Pais()
{
this.Entidades = new HashSet<Entidade>();
}
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Nome { get; set; }
public virtual ICollection<Entidade> Entidades { get; set; }
}
我需要建立一个简单的 Pais 下拉列表来创建一个新的 Entidade:
<div class="editor-label">
@Html.LabelFor(model => model.Pais, "Pais")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.Pais, ViewBag.Paises as SelectList)
@Html.ValidationMessageFor(model => model.Pais)
</div>
来自控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Entidade entidade)
{
if (ModelState.IsValid)
{
db.Entidades.Add(entidade);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.Paises = new SelectList(db.Paises, "Id", "Nome");
return View(entidade);
}
但我得到了错误:
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Pais'.
有什么想法吗?
谢谢
【问题讨论】:
-
嗨,谢谢我已经添加了控制器的代码
标签: c# asp.net asp.net-mvc asp.net-mvc-4