ArgumentException标签中显示的消息

时间:2012-07-26 18:12:18

标签: .net asp.net-mvc-3 c#-4.0 argumentexception

    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时显示的服务器页面上,确实显示了那条消息!

1 个答案:

答案 0 :(得分: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
}