不允许子操作执行重定向操作

时间:2015-04-15 10:22:05

标签: asp.net-mvc-5

我正在尝试使用带有索引视图的“创建”视图来在同一页面中显示创建的项目。 为此,我使用_CreateCategory作为局部视图,我在索引视图中添加了以下内容

{Html.RenderAction("Create", Model);}

我的控制器的创建

的get和post方法如下
[HttpGet]
    public ActionResult Create()
    {
        return PartialView("_CreateCategory",new Inventory.Models.Category());
    }

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include="Id,Description")] Category category)
    {
        if (ModelState.IsValid)
        {
            db.Categories.Add(category);
            db.SaveChanges();
            return RedirectToAction( "Index");
        }

        return PartialView(category);
    }

我的索引方法如下

public ActionResult Index()
    {
        return View(db.Categories.ToList());
    }

我没有对局部视图进行任何更改。我收到错误“

  

不允许子操作执行重定向操作

。我尝试了很多方法来克服这一点。但是没有运气。

1 个答案:

答案 0 :(得分:0)

我认为您应该使用Ajax表单在索引视图中呈现您的创建视图。最初,您可以在索引视图中呈现部分创建视图,在部分视图中,您可以使用Ajax.BeginForm()呈现提交到帖子创建操作的表单,并将表单替换为返回的部分视图。