asp.net-mvc – 如何在ASP.NET MVC中构建没有ViewContext的路由
发布时间:2020-12-16 04:13:44 所属栏目:asp.Net 来源:网络整理
导读:我想从一个无法访问ViewContext的实用程序类创建一个路由. 这可能吗?似乎没有任何等效的ViewContext.Current 我已尝试在Routing和HttpContext的所有构造函数中钓鱼,但无法完全达到我想要的效果. 这就是我正在寻找的 – 虽然这不起作用,因为RouteTable.Route
我想从一个无法访问ViewContext的实用程序类创建一个路由.
这可能吗?似乎没有任何等效的ViewContext.Current 我已尝试在Routing和HttpContext的所有构造函数中钓鱼,但无法完全达到我想要的效果. 这就是我正在寻找的 – 虽然这不起作用,因为RouteTable.Routes的类型是RouteCollection而不是RouteData.如此接近 – 但到目前为止:-) RequestContext requestContext = new RequestContext(HttpContext.Current,RouteTable.Routes); UrlHelper url = new UrlHelper(requestContext); var urlString = url.RouteUrl(new {controller="DynamicImage",action="Button",text="Hello World"}); 注意:RequestContest的类型为System.Web.Routing.RequestContext,而不是HttpContext 解决方法
试试这个:
var httpContext = new HttpContextWrapper(HttpContext.Current); var requestContext = new RequestContext(httpContext); var urlHelper = new UrlHelper(requestContext,new RouteData())); 希望这可以帮助 更新: 前一个是不正确的(我已经从我的记忆中发布了它).试试这个(它适用于我的一个项目): var httpContext = new HttpContextWrapper(HttpContext.Current); var requestContext = new RequestContext(httpContext,new RouteData()); var urlHelper = new UrlHelper(requestContext); new RouteData()仅用于RequestContext初始化,新的UrlHelper(requestContext)实际调用新的UrlHelper(requestContext,RouteTable.Routes) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 将ASP.NET与ASP混合使用
- ASP.NET OAuth授权 – 使用ClientId和Secret以及用户名和密
- 在ASP.NET MVC中检索当前视图名称?
- asp.net-mvc – 如何使用ajax get或post在带有参数的mvc中将
- asp.net-mvc-3 – ASP.Net MVC 3多个CheckBoxLists
- asp.net-mvc-3 – ActionButton而不是ActionLink
- asp.net-mvc – MVC模型状态
- asp.net – 我可以通过编程方式加载’Roles’属性吗?
- asp.net-mvc – 如何使用MVC 4上传大文件?
- asp.net – 我如何计算出我的服务器可以处理的最大负载?
推荐文章
站长推荐
热点阅读