【发布时间】:2016-12-02 05:32:32
【问题描述】:
当我在控制器的方法中访问 ViewData 时,我能够以字典的形式分配值,即。
ViewData["message"]="this is a custom message";
但我遇到了一个我试图在 MVC 中处理异常的场景,这是我的代码:
public void OnException(ExceptionContext filterContext)
{
if (!filterContext.ExceptionHandled && (filterContext.Exception is ArgumentOutOfRangeException))
{
filterContext.Result = new ViewResult { ViewName = "Error", ViewData = };
filterContext.ExceptionHandled = true;
}
}
现在在处理异常时,我想向错误页面传递一条消息,因此尝试访问 ExceptionContext 的 Result 属性。 现在
我的问题是为什么我不能为 ViewData 赋值 这里是一个类似于字典的格式
filterContext.Result = new ViewResult { ViewName = "Error", ViewData = };
这也是一个返回 ViewDataDictionary 对象的属性,我什么时候可以像这样在 Controller 方法中赋值 ViewData["message"] = "argument exception error"; 为什么会这样我无法在 ViewResult 对象 中做同样的事情。
【问题讨论】:
标签: asp.net-mvc viewdata viewresult