2012-01-10 38 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>