在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3061字,纯文字阅读大概需要5分钟。
内容图文
目前项目中有个需求,需要在WebForm中去构造MVC的URL信息,这里写了一个帮助类可以在ASP.NET非MVC环境中(WebForm中)构造MVC的URL信息,主要就是借助当前Http上下文去构造System.Web.Mvc.UrlHelper类。
using System; using System.Configuration; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace RetailCustomerInsight.Web.Utils { /// <summary> /// MVC URL帮助类,在ASP.NET 非MVC环境中构造MVC的URL信息 /// </summary> public static class MVCUrlHelper { /// <summary> /// 根据ActionName构造MVC的URL /// </summary> /// <param name="actionName"> MVC控制器中的ActionName </param> /// <returns> MVC的URL </returns> public static string Action(string actionName) { var route = new RouteData();//构造一个空的RouteData,表示当前Http上下文中不存在MVC的上下文信息(即当前Request请求的URL信息不能提供是在MVC的哪个Controller中,也不能提供是在Controller下的哪个Action中) RequestContext requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), route); UrlHelper url = new UrlHelper(requestContext); return url.Action(actionName); } ///<summary>/// 根据ActionName和路由参数构造MVC的URL ///</summary>///<param name="actionName">MVC控制器中的ActionName</param>///<param name="routeValues">路由参数</param>///<returns>MVC的URL</returns>publicstaticstring Action(string actionName, object routeValues) { var route = new RouteData();//构造一个空的RouteData,表示当前Http上下文中不存在MVC的上下文信息(即当前Request请求的URL信息不能提供是在MVC的哪个Controller中,也不能提供是在Controller下的哪个Action中) RequestContext requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), route); UrlHelper url = new UrlHelper(requestContext); return url.Action(actionName, routeValues); } ///<summary>/// 根据ActionName和控制器名构造MVC的URL ///</summary>///<param name="actionName">MVC控制器中的ActionName</param>///<param name="controllerName">控制器名</param>///<returns>MVC的URL</returns>publicstaticstring Action(string actionName, string controllerName) { var route = new RouteData();//构造一个空的RouteData,表示当前Http上下文中不存在MVC的上下文信息(即当前Request请求的URL信息不能提供是在MVC的哪个Controller中,也不能提供是在Controller下的哪个Action中) RequestContext requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), route); UrlHelper url = new UrlHelper(requestContext); return url.Action(actionName, controllerName); } ///<summary>/// 根据ActionName、控制器名和路由参数构造MVC的URL ///</summary>///<param name="actionName">MVC控制器中的ActionName</param>///<param name="controllerName">控制器名</param>///<param name="routeValues">路由参数</param>///<returns>MVC的URL</returns>publicstaticstring Action(string actionName, string controllerName, object routeValues) { var route = new RouteData();//构造一个空的RouteData,表示当前Http上下文中不存在MVC的上下文信息(即当前Request请求的URL信息不能提供是在MVC的哪个Controller中,也不能提供是在Controller下的哪个Action中) RequestContext requestContext = new RequestContext(new HttpContextWrapper(HttpContext.Current), route); UrlHelper url = new UrlHelper(requestContext); return url.Action(actionName, controllerName, routeValues); } } }
原文:http://www.cnblogs.com/OpenCoder/p/4980203.html
内容总结
以上是互联网集市为您收集整理的在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数全部内容,希望文章能够帮你解决在ASP.NET非MVC环境中(WebForm中)构造MVC的URL参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。