在)
内,我有一个Index.cshtml
填充了数据。在选择DropDownList
项目时,我使用DropDownList
加载部分视图。这些部分视图是表单,填充后,数据将插入到数据库中。插入后,我想要最初填充ajax
的{{1}},但它不起作用并给出错误:
发生了'System.InvalidOperationException'类型的异常 System.Web.Mvc.dll但未在用户代码中处理 信息:没有类型的ViewData项 “IEnumerable”具有键“TemplatesCategory”。
这是我的控制器----
Index.cshtml
这是我的观点-----
DropDownList
这是我的模特 -
public class templateController : Controller
{
PulseContext db = new PulseContext();
public ActionResult Index()
{
ViewBag.TemplatesCategory = new SelectList(db.Templates, "Id", "templateName");
return View();
}
[HttpGet]
public PartialViewResult Clothing()
{
return PartialView("_ClothingTemplate");
}
[HttpPost]
public ActionResult Clothing(templateClothing tc)
{
db.templateClothings.Add(tc);
db.SaveChanges();
return View("Index");
}
请帮助我如何修复此错误,以及如何使用填充的下拉列表重定向到索引页。
答案 0 :(得分:0)
在您的情况下,这是在呈现您想要的Index
之前调用View
方法可以做的事情
return RedirectToAction("Index");
代替:return View("Index");
所以你的服装应该如下所示
[HttpPost]
public ActionResult Clothing(templateClothing tc)
{
db.templateClothings.Add(tc);
db.SaveChanges();
return RedirectToAction("Index");
}
这将调用Index
方法并呈现您想要的View