2014-02-19 173 views
-1

我是MVC的新手,我試圖掌握在成功或失敗後向用戶展示消息的方法,例如表單。假設我有一個像下面這樣的帖子功能,我的目標是呈現一個局部視圖,但顯然這並不像我認爲的那樣工作。關於如何在成功提交表單後顯示部分視圖的指針?當像下面的代碼那樣做時,我當然會重定向到部分視圖,而不是僅僅在當前視圖上顯示它們,而這正是我想要的。成功顯示成功消息

[HttpPost] 
    public ActionResult Test(bool succeeded) 
    { 
     if (succeeded) 
     { 
      ViewBag.SuccessMessage = "Success!"; 
      return View("_SuccessMessage"); 
     } 

     else 
     { 
      ViewBag.SuccessMessage = "Error!"; 
      return View("_ErrorMessage"); 
     } 
    } 

回答

1

如果你想留在同一個視圖只返回當前視圖,並設置一些標誌你的模型或動態ViewBag該請求是成功或錯誤。比在你的視圖中,你可以包含基於該標誌的_ErrorMessage或_SuccessMessage,並且如果該標誌沒有設置,則不要改變其中的任何部分。 此外,如果您必須重定向到另一個視圖並在那裏顯示成功/錯誤,則可以使用TempData集合。

+0

是的,這也是我的想法。它似乎很奇怪繞過布爾值... – vsdev

+1

你可以傳遞你的局部視圖名稱並在RenderPartial方法中使用它。因此,如果沒有局部視圖名稱,則不要渲染任何東西,否則只需調用RenderPartial(ViewBag.StatusMessageView)。 – milagvoniduak