我在业务逻辑层中调用一个静态方法,为了我在这里不提及的目的,需要重定向自己而不是将信息返回给控制器来进行重定向.
我想我需要使用HttpContext对象,但我正在努力创建路由.我不能简单地做context.Response.Redirect(“someController / someMethod)因为我需要包含我发送给用户的动作控制器的参数.
假设这是正确的:
HttpContext context = HttpContext.Current;
任何人都可以提供一些语法帮助,如何使用如下对象创建路由:
new { Controller = "MyController",action = "Index",OtherParm="other value" }
TIA
解决方法
非常丑陋,反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);