将模型从一个动作传递到另一个asp.net mvc

时间:2014-05-03 05:33:43

标签: c# asp.net-mvc asp.net-mvc-4 model action

我有一个名为ErrorController的控制器,其行为为Index

我正在捕获来自其他控制器的异常HomeController,并将如下所示的异常存储在名为ExceptionDetails

的模型中
public class ExceptionDetail
  {
    public string message { get; set; }
    public string details { get; set; }
  }

一旦发现异常,我会将其存储在上面显示的模型中,并希望将其发送到控制器Index的操作ErrorController

我该怎么做

我尝试了以下但是它没有用。

catch (System.Exception exception)
  {
    exceptionDetail.details = exception.ToString();
    exceptionDetail.details = exception.Message.ToString();
    return RedirectToAction("Index", "Error", new { exception = exceptionDetail });
  }

Index操作如下所示,我也有一个强类型的索引视图。

 public ActionResult Index(ExceptionDetail exceptionDetail)
  {
    return View(exceptionDetail);
  }

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:2)

您的方法签名是:

public ActionResult Index(ExceptionDetail exceptionDetail)

所以你的RedirectToAction应该定义一个参数" exceptionDetail' :

return RedirectToAction("Index", "Error", exceptionDetail);

答案 1 :(得分:0)

return RedirectToAction("Index", "Error", exceptionDetail);

通过这种方式,我可以在控制器Index

ErrorController处使用模型属性