没有具有键 "Projects" 的类型 'IEnumerable<SelectListItem>' 的 ViewData 项
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key "Projects"
我是 MVC Razor 的新手。我正在尝试插入 de DB 但我得到了这个期望:
There is no ViewData item of type 'IEnumerable' that has the key "Projects"
我正在使用 EntityFramework(DB First)作为我的 MVC 模型。我在我的 DropDownList 中收到此错误,我使用 Linq 检索数据以填充我的 DropDwonList,这是我的代码:
控制器:
// GET: /Actividad/
public ActionResult AgregarActividad()
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
return View();
}
[HttpPost]
public ActionResult AgregarActividad(Actividades act)
{
if (ModelState.IsValid)
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
var actividad = db.Set<Actividades>();
actividad.Add(act);
db.SaveChanges();
return View();
}
else
{
return View();
}
}
查看
<div>
<p>Proyecto</p>
@Html.DropDownList(
"Projects", null, string.Empty, new { style = "width: 200px;" })
</div>
如果有人能帮助我,我将不胜感激!!
您的 post 方法没有重新填充 ViewData。
我已经修改了您的代码...在下面找到。
[HttpPost]
public ActionResult AgregarActividad(Actividades act)
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
if (ModelState.IsValid)
{
var actividad = db.Set<Actividades>();
actividad.Add(act);
db.SaveChanges();
return View();
}
else
{
return View();
}
}
我是 MVC Razor 的新手。我正在尝试插入 de DB 但我得到了这个期望:
There is no ViewData item of type 'IEnumerable' that has the key "Projects"
我正在使用 EntityFramework(DB First)作为我的 MVC 模型。我在我的 DropDownList 中收到此错误,我使用 Linq 检索数据以填充我的 DropDwonList,这是我的代码:
控制器:
// GET: /Actividad/
public ActionResult AgregarActividad()
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
return View();
}
[HttpPost]
public ActionResult AgregarActividad(Actividades act)
{
if (ModelState.IsValid)
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
var actividad = db.Set<Actividades>();
actividad.Add(act);
db.SaveChanges();
return View();
}
else
{
return View();
}
}
查看
<div>
<p>Proyecto</p>
@Html.DropDownList(
"Projects", null, string.Empty, new { style = "width: 200px;" })
</div>
如果有人能帮助我,我将不胜感激!!
您的 post 方法没有重新填充 ViewData。 我已经修改了您的代码...在下面找到。
[HttpPost]
public ActionResult AgregarActividad(Actividades act)
{
var db = new WTMEntities();
var proyectos = (from pro in db.Proyecto
select new
{
Id = pro.Id,
Nombre = pro.Nombre
}).ToList();
ViewData["Projects"] = new SelectList(proyectos.Select(i => i.Nombre));
if (ModelState.IsValid)
{
var actividad = db.Set<Actividades>();
actividad.Add(act);
db.SaveChanges();
return View();
}
else
{
return View();
}
}