在MVC3 RAZOR View Engine中显示带有视图的异常消息

时间:2012-07-08 07:22:17

标签: asp.net-mvc-3

我有一个模特喜欢:

public class Post
    {
        public int PostId { get; set; }
        public int ParentId { get; set; }
        public string PostTitle { get; set; }
        public IEnumerable<Post> ChildPosts { get; set; }
    }

我的Controller中还有一个add动作,它将我上面的Model返回到add.cshtml视图。现在来到我的应用程序运行模式我得到一个异常(如数据库连接异常)。现在我想在add.cshtml页面中显示我的异常消息。

有可能吗?如是。我怎么能完成这项工作。请用示例代码解释。

2 个答案:

答案 0 :(得分:3)

如果要在同一视图上显示错误消息:

[HttpPost]
public ActionResult Add(Post post)
{
    try
    {
        // do your database stuff ...
        return RedirectToAction("Success");
    }
    catch (SomeExceptionouNeedToHandle ex)
    {
        ModelState.AddModelError("", ex);
        return View(post);
    }
}

并在Add.cshtml视图中,您可以使用ValidationSummary帮助程序显示错误消息:

@Html.ValidationSummary()

另一种可能性是具有一般错误页面,当发生一些意外异常时将显示该页面。通常,您应该只捕获要处理的异常。在控制器操作中捕获一般异常是不好的做法。

这是异常处理的example

答案 1 :(得分:0)

我建议你使用Elmah异常处理,你可以查看我给你的这两个链接。

link 1

link2