有人知道如何从global.asax的Application_Error事件中获取当前的RequestContext吗??我的问题是,我需要做一个重定向,因此需要使用UrlHelper生成url -它接受前面提到的RequestContext。
发布于 2009-12-18 08:08:40
虽然没有直接访问RequestContext的方法,但您可以自己创建一个:
RequestContext context = new RequestContext(new HttpContextWrapper(HttpContext.Current), RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current)))因此,可以通过以下方式构建UrlHelper:
UrlHelper helper = new UrlHelper(new RequestContext(new HttpContextWrapper(HttpContext.Current), RouteTable.Routes.GetRouteData(new HttpContextWrapper(HttpContext.Current))));不是很漂亮,但它能完成工作。
发布于 2013-03-15 20:07:09
您可以使用以下命令访问请求上下文
HttpContext.Current.Request.RequestContext或者,如果您在Global.asax中,可以使用
Context.Request.RequestContext直接了当。
发布于 2011-08-12 00:00:12
从当前HttpContext创建一个HttpContextBase,您可以从中生成一个UrlHelper:
// Create Http Context Base from current Context
var contextBase = new System.Web.HttpContextWrapper(System.Web.HttpContext.Current);
// Get its request context
System.Web.Routing.RequestContext requestContext = contextBase.Request.RequestContext;
// Build url helper from request context
var urlHelper = new System.Web.Mvc.UrlHelper(requestContext);https://stackoverflow.com/questions/696756
复制相似问题