2015-04-15 116 views
1

我試圖使用創建視圖與索引視圖來顯示在同一頁中創建的項目。 對於我使用_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

你是否用'[ChildActionOnly]'屬性修飾了你的方法? –

+0

不,我沒有添加[ChildActionOnly]屬性 – Snj

回答

0

我認爲你應該使用一個Ajax表單,用於在索引視圖中呈現您的創建視圖。最初,您可以在索引視圖和部分視圖中呈現部分創建視圖,您可以使用Ajax.BeginForm()呈現提交給您的創建後操作的表單並用返回的局部視圖替換表格。