asp.net mvc5 伪静态
2016-09-23 14:16
260 查看
asp.net mvc5 伪静态 WebForm
Mvc4和5通用1、背景:老项目WebForm开发 需要 融合到新项目Mvc5开发
2、需求:Url地址TruckDetail.aspx?id=455 达到效果 truck/455.html
3、不是最佳方案,但是个过度项目所以达到效果ok,欢迎丢转。
第一步:继承IRouteHandler
public class OldWebFormsRouteHandler : IRouteHandler { private string pageName = string.Empty; private string id = string.Empty; public IHttpHandler GetHttpHandler(RequestContext requestContext) { pageName = requestContext.RouteData.GetRequiredString("oldPageName"); id = requestContext.RouteData.GetRequiredString("id"); string path="/Pages/" + this.pageName + ".aspx"; IHttpHandler MyHander = BuildManager.CreateInstanceFromVirtualPath(path, typeof(System.Web.UI.Page)) as IHttpHandler; return MyHander; } }
第二步:在默认规则前ADD 注意.html
public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.Add("MyRoute", new Route("{oldPageName}/{id}.html", new OldWebFormsRouteHandler())); routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); } }
第三步:修改Web.config
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer>
第四步:aspx页面获得参数Request.QueryString["id"]换成RouteData.Values["id"]
<form id="form1" runat="server"> <div> id:<%=RouteData.Values["id"]==null?"yy":RouteData.Values["id"].ToString() %><br /> oldPageName:<%=RouteData.Values["oldPageName"]==null?"no":RouteData.Values["oldPageName"].ToString() %> </div> </form>
效果:
转载请注明来源地址:http://www.cnblogs.com/huangyoum/p/4154338.html
相关文章推荐
- asp.net mvc5 伪静态 WebForm
- gcc生成.a静态库和.so动态库文件
- 静态代理(JAVA设计模式)
- HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理
- Xcode 6制作动态及静态Framework
- 静态成员函数和静态成员变量
- 1.SimpleFactory-简单(静态)工厂模式
- nginx 日志json化和静态文件不打印日志
- jsp中动态include与静态include的区别-面试题
- 静态和单例:饿汉式和懒汉式.
- java中生成静态html(转载)
- ASP.NET MVC5添加验证(4)
- MVC 伪静态
- C++日记_17.5.11 静态成员函数的小应用一则
- java中的main方法,为什么是静态(static)的?
- 小区物业管理系统 MyEclipse+MySQL+SSH 源码或者参考资料(静态页面也可以的)
- linux设备驱动归纳总结(五):3.操作硬件——IO静态映射
- 静态连接库
- [设计模式] 单例模式和静态方法
- 动态广播和静态广播的区别