我在业务逻辑层中调用静态方法,出于我在此不提及的目的,需要重定向本身,而不是将信息返回给控制器以进行重定向。
我想我需要使用HttpContext对象,但我正在努力创建路由。我不能简单地做context.Response.Redirect(“someController / someMethod)因为我需要包含我发送给用户的动作控制器的参数。
假设这是正确的:
HttpContext context = HttpContext.Current;
任何人都可以提供一些语法帮助,了解如何使用如下对象创建路径:
new { Controller = "MyController", action = "Index", OtherParm="other value" }
TIA
答案 0 :(得分:13)
非常丑陋,反MVC,不要在商业层等等......但是因为你在问:
var context = new RequestContext(
new HttpContextWrapper(System.Web.HttpContext.Current),
new RouteData());
var urlHelper = new UrlHelper(context);
var url = urlHelper.Action("Index", new { OtherParm = "other value" });
System.Web.HttpContext.Current.Response.Redirect(url);