2012-01-10 66 views
0

嗨,人們我有下面的代碼(如下所示),我試圖改變它(我的代碼),所以我可以顯示一個消息框或一些警報說,這本書在C#中ASP.net MVC3使用if語句已保存創建一個消息框或類似的基本If語句

[HttpPost] 
    [ValidateInput(false)] 
    public ActionResult Create(BooksItem booksitem) 
    { 
     try 
     { 
      using (var db = new Booksforsale()) 
      { 
       db.BooksItem.Add(booksitem); 
       db.SaveChanges(); 
      } 

      return RedirectToAction("Index"); 
      } 
     catch 
     { 
      return View(); 
     } 
    } 

有沒有辦法改變這If語句,所以當它保​​存一個消息框或出現一個警告,指出已保存。我想真正的簡單編碼沒有什麼複雜的,這對我來說很難實現。

謝謝

我曾嘗試以下:

[HttpPost] 
    [ValidateInput(false)] 
    If public ActionResult Create(BooksItem booksitem) 
    { 
     try 
     { 
      if using (var db = new Booksforsale()) 
      { 
       db.BooksItem.Add(booksitem); 
       db.SaveChanges(); 
      } 
      else viewbag.message="been added" 
      { 
      return RedirectToAction("Index"); 
      } 

     catch 
     { 
      return View(); 

     } 
    } 

這沒有奏效謝謝你這麼多的人對收到的任何幫助,真的很感謝

回答

1

你可以存儲內部消息TempData,以便您在重定向後可在下一個請求中使用:

[HttpPost] 
[ValidateInput(false)] 
public ActionResult Create(BooksItem booksitem) 
{ 
    try 
    { 
     using (var db = new Booksforsale()) 
     { 
      db.BooksItem.Add(booksitem); 
      db.SaveChanges(); 
     } 
     TempData["message"] = "The item has been saved"; 
     return RedirectToAction("Index"); 
    } 
    catch 
    { 
     return View(); 
    } 
} 

Index的行動,要重定向到從TempData取該消息並把它傳遞給視圖內:在相應視圖某處

public ActionResult Index() 
{ 
    ViewBag.Message = TempData["message"]; 
    return View(); 
} 

和明顯顯示此消息:

<div>@ViewBag.Message</div>