显示从控制器类到查看页面的异常消息

时间:2014-02-07 05:26:49

标签: asp.net-mvc-3

我在我的MVC3 Razor项目的HomeController.cs中的try catch块中定义了一个方法。现在请告诉我如何在我的视图页面上显示此异常消息?

3 个答案:

答案 0 :(得分:9)

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

[HttpPost]
public ActionResult Add(Model model)
{
    try
    {
        // some code...
        return RedirectToAction("Success");
    }
    catch (SomeException ex)
    {
        ModelState.AddModelError("", ex.Message);
        return View(model);
    }
}

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

@Html.ValidationSummary()

答案 1 :(得分:0)

在HomeController.cs文件捕获部分中添加模型状态错误,如

  try
  {
        methodThrowsError();
  }
  catch(SomeException ex)
  {
     ModelState.AddModelError("", ex);
  }
 return View(yourmodel);

并在cshtml页面中显示错误,如

    @Html.ValidationSummary()

这是异常处理的example

答案 2 :(得分:0)

只需在控制器中创建一个会话变量 AS:

public ActionResult DeleteConfirmed(int id)
    {
   try
        {
            //////whatever code u want
            return RedirectToAction("Index");
        }
        catch (Exception ex)
        {
            string m="mysession";
            Session["dep"] = m;}
return view();}

并将其用作标志变量..  然后在你的剃刀视图中 将您的消息显示为:

 if (Session["dep"] != null)
 { 
    <h1>Whatever message you want to show in your view</h1>

 }

如果有帮助请评价我的答案