我正在尝试使用带有索引视图的“创建”视图来在同一页面中显示创建的项目。 为此,我使用_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());
}
我没有对局部视图进行任何更改。我收到错误“
不允许子操作执行重定向操作
。我尝试了很多方法来克服这一点。但是没有运气。
答案 0 :(得分:0)
我认为您应该使用Ajax表单在索引视图中呈现您的创建视图。最初,您可以在索引视图中呈现部分创建视图,在部分视图中,您可以使用Ajax.BeginForm()呈现提交到帖子创建操作的表单,并将表单替换为返回的部分视图。