1

我有一个模型喜欢:

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

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

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

4

2 回答 2

4

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

[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()

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

这是异常处理的示例

于 2012-07-08T07:24:58.047 回答
0

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

链接 1

链接2

于 2012-07-08T07:28:24.980 回答