如何在asp.net mvc中修复此错误

时间:2016-04-25 01:35:50

标签: asp.net asp.net-mvc partial-views asp.net-mvc-partialview

)内,我有一个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");
        }

请帮助我如何修复此错误,以及如何使用填充的下拉列表重定向到索引页。

1 个答案:

答案 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