2012-07-26 87 views
0
public void DeleteUser(User user) 
    { 
     if (!UserExists(user)) 
      throw new ArgumentException("User doesn't exist!"); 
     else 
     { 
      MatrixDb.Users.Remove(user); 
      MatrixDb.SaveChanges(); 
     } 
    } 

我想在頁面上以正確的方式顯示「ArgumentException」消息;我希望它在ValidationSummary Helper或Label中,以便當用戶面對它時,它們不會發送到'/'應用程序'頁面中的'服務器錯誤,而是錯誤顯示在某個控制器中,如標籤或文本域。ArgumentException消息顯示在標籤

這甚至可能嗎?!因爲在引發ArgumentException時顯示的服務器頁面上,在那裏顯示消息!

回答

1

控制器:

[HttpPost] 
    public ActionResult Test(User user) 
    { 

     try 
     { 
      Delete(user); 
     } 
     catch (Exception e) 
     { 
      ViewData["error"] = e.Message; //ViewBag.error = e.Message can be used too   
     } 
     return View(); 
    } 

查看:

@if (ViewData["error"] != null) //ViewBag.error != null 
{ 
    <h2>@ViewData["error"].ToString()</h2> //@ViewBag.error.ToString() if ViewBag is used 
} 
+0

太好了!幫助! – 2012-07-26 19:24:39