gpt4 book ai didi

asp.net-mvc - ActionInvoker.InvokeAction(context, "Method") - 如何将参数传递给调用的方法?

转载 作者:行者123 更新时间:2023-12-04 06:08:37 25 4
gpt4 key购买 nike

嗨,我有我的 mvc 应用程序和这个代码片段:

    protected override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
ActionInvoker.InvokeAction(filterContext, "ErrorMessage");
}

public ActionResult ErrorMessage(ExceptionContext filterContext)
{
ViewModel<Exception> viewModel = ViewModelFactory.CreateFor(filterContext.Exception);
return View(viewModel);
}

问题是我无法将参数传递给方法。我认为这将是这个 filterContext 但在 ErrorMessage 方法中它具有所有默认值。

所以我的问题是 - 如何将一些值传递给我调用的方法?

最佳答案

我不知道我的问题是否清楚,但我想要实现的是我不想在我的 Controller 操作中捕获任何异常并且仍然​​获得关于错误的漂亮消息。所以我满意的解决方案是:

protected override void OnException(ExceptionContext filterContext)
{
base.OnException(filterContext);
TempData.Add(MyCommons.Exception, filterContext.Exception);
var controllerName = filterContext.RequestContext.RouteData.Values["Controller"];
filterContext.Result =
new RedirectToRouteResult(new RouteValueDictionary(new {controller = controllerName, action = "Error"}));
filterContext.ExceptionHandled = true;
filterContext.HttpContext.Response.Clear();

}

关于asp.net-mvc - ActionInvoker.InvokeAction(context, "Method") - 如何将参数传递给调用的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com