void Application_Start(object sender, EventArgs e)
    {
        // 在应用程序启动时运行的代码
               RegisterRoutes();
    }

    // 页面存放目录
    private readonly string[] _pageMapPath = { @"~/OrderManager/" };
    /// <summary>
    /// 注册路由
    /// </summary>
    private void RegisterRoutes()
    {

        var defaults = new RouteValueDictionary { { "name", "a" }, { "id", @"\d+" } };

        RouteTable.Routes.Add("OrderList1",
                              new Route("OrderList/{id}.html", defaults, new CustomRouteHandler("~/OrderList/OrderList.aspx")));

        //var defaults = new RouteValueDictionary { { "name", "1" }, { "id", 2 } };

        //RouteTable.Routes.Add("home1",
        //                      new Route("home_{Id}_{name}.html", defaults, new CustomRouteHandler("~/Index.aspx")));

        RouteTable.Routes.Add("home",
                          new Route("home",
                                    new CustomRouteHandler("~/Index.aspx")));
        RouteTable.Routes.Add("home.html",
                           new Route("home.html",
                                     new CustomRouteHandler("~/Index.aspx")));
        RouteTable.Routes.Add("index",
                             new Route("index",
                                       new CustomRouteHandler("~/Index.aspx")));
        //将Index.html请求映射为Default.aspx
        RouteTable.Routes.Add("Index-1",
                              new Route("Index.html",
                                        new CustomRouteHandler("~/Index.aspx")));

        // 将About.html请求映射为About.aspx
        RouteTable.Routes.Add("login",
                              new Route("login",
                                        new CustomRouteHandler("~/login.aspx")));
        // 将About.html请求映射为About.aspx
        RouteTable.Routes.Add("login.html",
                              new Route("login.html",
                                        new CustomRouteHandler("~/login.aspx")));
        RouteTable.Routes.Add("login.shtml",
                            new Route("login.shtml",
                                      new CustomRouteHandler("~/login.aspx")));

        // 遍历页面存放目录,为每个.aspx页面添加路由映射
        foreach (string mapPth in _pageMapPath)
        {
            string path = Server.MapPath(mapPth);
            var directoryInfo = new System.IO.DirectoryInfo(path);
            foreach (System.IO.FileInfo f in directoryInfo.GetFiles())
            {
                string fileName = f.Name;
                if (fileName.EndsWith(".aspx"))
                {
                    string routeName = fileName.Substring(0, fileName.Length - 5);
                    string url = string.Concat(mapPth.Substring(2), routeName, ".html");
                    RouteTable.Routes.Add(routeName,
                                          new Route(url,
                                                    new CustomRouteHandler(string.Concat(mapPth, fileName))));
                }
            }
        }
    }

asp.net URL重新实例的更多相关文章

  1. asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别

    asp.net URL传递中文参数System.Web.HttpUtility.UrlEncode与Server.UrlEncode的区别(一) HttpUtility.UrlEncode 方法: 对 ...

  2. asp.net url重写相关技术问题整理

    1.IIS7配置URL重写需要注意系统是32位还是64位的 在IIS7配置URL重写的时候,需要添加“脚本映射”,如果是64位系统,会有两个地方存放.net framework分别是32位系统和64位 ...

  3. ASP.NET URL伪静态重写实现方法

    ASP.NET URL伪静态重写实现方法 首先说下,ASP.NET URL伪静态只是将~/a_1.html指向到了~/a.aspx?ID=1,但a.aspx还是真实存在的,你不用./a_1.html来 ...

  4. ASP.NET导出word实例

    ASP.NET导出word实例 最近遇到一个题目就是如何在asp.net中将数据导出到word中,由于数据是动态的,所以需要在后台拼出想要的的格式,翻遍了网页找出了一个比较满意的代码,感谢那位高手.代 ...

  5. asp 获取url 返回值 和 对json 返回值的处理

    Function GetHttpPage(HttpUrl,endoce) If endoce = "" Then endoce = "GB2312" If Is ...

  6. 很不错的NGINX URL重写实例

    转自:http://www.jbxue.com/article/2187.html 本文介绍nginx URL重写的相关知识,包括301重定向的内容等,希望对大家有所帮助. nginx rewrite ...

  7. 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...

  8. 【记录】ASP.NET URL 特殊字符

    终极版 URL 编码,使用 Uri.EscapeDataString: string url = "C++ C#"; Console.WriteLine(Uri.EscapeDat ...

  9. ASP.NET Ajax 简单实例

    本实例讲解Ajax 调用WCF服务. 1.建立一个网站,并在其中添加一个WCF服务(这里需要选择Ajax-Enabled WCF Service). 2.IDE会自动生成一个SVC文件. 3.服务代码 ...

随机推荐

  1. yum安装centos系统依赖库

    安装centos系统依赖库,安装软件过程中,经常需要的一些库,可以在编译安装软件前执行如下命令: 首先更新系统(这步可以不执行) yum -y update 这种更新是全部更新,但是有时一些软件不想更 ...

  2. ubuntu+mono+PetaPoco+Oracle+.net 程序部署

    前言:将windows 下开发的 .net 控制台程序(连接Oracle数据库)部署到 ubuntu 下步骤记录  2017-09-19 实验所用机器为虚拟机Ubuntu16.04  amd64 安装 ...

  3. NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.web.servlet.view.InternalResourceViewResolver' available

    问题描述: 项目中需要配置多个视图解析器,所以使用ContentNegotiatingViewResolver来处理,在其内部设置了FreeMarkerViewResolver .InternalRe ...

  4. js 面向对象 继承

    继承方式有四种: 1.call 2.apply 3.prototype 4.for in call 和 apply 的主要区别: call 传参数只能一个一个的传, apply 因为是用数组,所以可以 ...

  5. BZOJ 3551: [ONTAK2010]Peaks加强版 [Kruskal重构树 dfs序 主席树]

    3551: [ONTAK2010]Peaks加强版 题意:带权图,多组询问与一个点通过边权\(\le lim\)的边连通的点中点权k大值,强制在线 PoPoQQQ大爷题解传送门 说一下感受: 容易发现 ...

  6. BZOJ 3790: 神奇项链 [Manacher 贪心]

    3790: 神奇项链 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 405  Solved: 200[Submit][Status][Discuss] ...

  7. c# Nlog 非xml cs方法配置

    public static void InitLog(TargetWithLayout target = null, string level = "Debug", string ...

  8. Mac 系统安装 oh my zsh

    先来张图感受一下: 安装oh my zsh: 1.克隆这个项目到本地(前提是你得有装git) git clone git://github.com/robbyrussell/oh-my-zsh.git ...

  9. ng-csv 异步数据下载

    相信很多码友遇到一个很坑的问题吧,就是使用ng-csv  的时候 lazy-load="true" 设置为true 还是 会下载0行数据 var getArray= functio ...

  10. 学习资料分享:Python能做什么?

    最近一直忙着研究学习Python,很久没更新博客了,整理了一些Python学习资料,和大家分享一下!每天更新一篇~ 一.Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一 ...