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. 洛谷 [P1020] 导弹拦截 (N*logN)

    首先此一眼就能看出来是一个非常基础的最长不下降子序列(LIS),其朴素的 N^2做法很简单,但如何将其优化成为N*logN? 我们不妨换一个思路,维护一个f数组,f[x]表示长度为x的LIS的最大的最 ...

  2. USACO 状压DP练习[3]

    1725 题意:$m*n:\ m,n \le 12$的牧场,有的格子不能选,相邻不能同时选,求方案数 $f[i][j]$前$i$行当前行选的集合为$j$ #include <iostream&g ...

  3. 简易商品信息管理系统——首个Web项目

    正文之前 在学习了一段时间的Java Web的内容之后,当然需要有个项目来练练手,我相信大多数人的首选项目都是信息管理系统吧,所以我选择了商品信息管理系统 目前项目源码已全部上传至GitHub,欢迎大 ...

  4. 通过代码配置 Log4net来实现日志记录

    通过代码来创建配置文件,优点看起来更为简洁,不过还得看需求吧,之前我博客也写了一篇通过读取不同的配置文件还实现配置不同日志类型. //记录异常日志数据库连接字符串 private const stri ...

  5. 【模板小程序】求第n个fibonacci数

    //fibonacci,find the nth num. 1 1 2 3 5 8... #include <iostream> using namespace std; int fib( ...

  6. Office 365 机器人(Bot)开发入门指南 (新篇)

    最近在整理书稿时,发现我在2017年7月份写的这篇 Office 365 机器人(Bot)开发入门 的内容,因为相关平台的升级,已经完全不能体现当前的开发过程,所以我再专门写一篇新的开发入门指南给有兴 ...

  7. zabbix_server 挂了原因及解决方法(内存溢出)

    14721:20170714:095330.028 [file:dbconfig.c,line:452] zbx_mem_malloc(): out of memory (requested 80 b ...

  8. Hive metastore表结构设计分析

    今天总结下,Hive metastore的结构设计.什么是metadata呢,对于它的描述,可以理解为数据的数据,主要是描述数据的属性的信息.它是用来支持如存储位置.历史数据.资源查找.文件记录等功能 ...

  9. css设置兼容的透明样式

    css设置透明并实现兼容: <style>div{ filter: alpha(opacity=80); -moz-opacity: 0.8; -khtml-opacity: 0.8; o ...

  10. PHP die与exit的区别

    最近听见有人说die和exit区别,bula~bula.决心一探究竟. 翻了翻PHP 5.6的源码(源码的位置为zend目录下zend_language_scanner.l大约是1014~1020行) ...