2012-07-26 100 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