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. BZOJ 3993: [SDOI2015]星际战争 [二分答案 二分图]

    3993: [SDOI2015]星际战争 题意:略 R1D2T1考了裸二分答案+二分图最大匹配... #include <iostream> #include <cstdio> ...

  2. 在控制台进行依赖注入(DI in Console)

    首先我们准备两个服务接口 public interface IServiceA { void showConsole(); int GetValue(int val); } public interf ...

  3. Image Style Transfer:多风格 TensorFlow 实现

    ·其实这是一个选修课的present,整理一下作为一篇博客,希望对你有用.讲解风格迁移的博客蛮多的,我就不过多的赘述了.讲一点几个关键的地方吧,当然最后的代码和ppt也希望对你有用. 1.引入: 风格 ...

  4. bootloader总体操作设计

    bootloarder设计蓝图(不想做设计师的程序员不是好程序员):bootloarder的作用:将linux内核启动起来设计方法:模仿u-bootu-boot:支持多种嵌入式cpu的bootloar ...

  5. java单例模式学习笔记

    最近一直在学习多线程,在学习过程中遇到了关于单例模式的多线程安全问题,内容如下: 一:首先什么是单例模式 单例模式具有的三要点: 一个类只能有一个实例: 必须是由它自己创建的这个实例: 它必须自行向外 ...

  6. yii2 模块的创建及使用

    yii2 模型创建可以通过gii工具创建,方便快速yii2 可以在项目的根目录创建一个modules文件夹存放各个模块,当然,每个模块里还可以再创建模块 一.直接在项目根目录创建一个模块 看截图--& ...

  7. Treap-平衡树学习笔记

    平衡树-Treap学习笔记 最近刚学了Treap 发现这种数据结构真的是--妙啊妙啊~~ 咳咳.... 所以发一发博客,也是为了加深蒟蒻自己的理解 顺便帮助一下各位小伙伴们 切入正题 Treap的结构 ...

  8. SpringMvc解决Restful中文乱码问题

    中文乱码问题解决方式: <!-- 解决中文乱码问题 --> <filter> <filter-name>CharacterEncodingFilter</fi ...

  9. RHEL6误安装RHEL7的包导致glibc被升级后系统崩溃处理方法

    RHEL6误使用了RHEL7的光盘源,安装了某个RPM包之后,导致glibc被升级,进而导致系统崩溃.   [root@rhel65 ~]# yum install ftp Loaded plugin ...

  10. ubuntu17 安装中文输入法

    在此说的是intelligent pinyin.我首先尝试的是搜狗输入法,虽然最终安装成功了,但还是直接卸载了.因为它不仅需要fcitx框架,在安装成功后,标题栏上面还会出现两个输入法图标.真正不能让 ...