asp.net-mvc - 从业务逻辑类重定向asp.net mvc页面

标签 asp.net-mvc redirect routes

我正在我的业务逻辑层中调用一个静态方法,出于我不会在这里提到的目的,它需要自己进行重定向,而不是将信息返回给 Controller 来进行重定向。

我想我需要使用 HttpContext 对象,但正在努力创建路由。我不能简单地做 context.Response.Redirect("someController/someMethod) ,因为我需要包含我将用户发送到的 Action Controller 的参数。

假设这是正确的:

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);

关于asp.net-mvc - 从业务逻辑类重定向asp.net mvc页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2066351/

相关文章:

angular - 如何限制Angular2路由参数?

c# - 如何在 ASP.NET MVC 中获取不带参数的 Action 的 URL

redirect - MVC 5 - 从任何地方重定向到 Controller

python - Scrapy 立即跟随 302 重定向

.htaccess - 是否可以同时重定向到 ssl 和非 www?

ruby-on-rails - 动态根路径路由

c# - "potentially dangerous Request.Form value"

asp.net-mvc - 在 ASP.NET MVC 中创建 SiteMap

asp.net-mvc - asp.net mvc新手问题

c# - 每个项目或每个模块一个 DLL?