当前位置 > 首页 > Asp.net

asp.net路由配置2

2012-9-10 15:32:00来源:Asp.net

1:现在Application_start中注册您写的路由模式代码如下:
   void Application_Start(object sender, EventArgs e)
        {
             //注册所有的您设置的所有的路由规则,以便请求相应路径时去对应相应的规则,RouteTable类存储了所有规则的URL的路径,
            //RouteTable.Routes的是一个集合RouteCollection,存储了所有的用户定义的路由规则,写在Application_Start方法中的原因是将所有的路由规则注册到程序中
            RegisterRoutes(RouteTable.Routes);

        }


  public static void RegisterRoutes(RouteCollection routes)
        {
            //添加一个路由到程序中
            //new Route("{page}.aspx", new MyRouteHandler())d的解析,"{page}.aspx",第一个参数是请求的路径,第二个参数是怎么样去处理这个请求。
            //在这里是用MyRouteHandler去处理这个路由请求
          

            //添加另一个路由
            routes.Add("Default",
                new Route("{category}/{action}.aspx",
                          new RouteValueDictionary(
                              new
                                  {
                                      file = "Default",
                                      category = "home",
                                      action = "index"
                                  }), new MyRouteHandler()//这里定义一个routeHandler,要用这个handler去出来的的请求路径
                    )
                );
           
        }
2:定义一个RouteHandler来处理上面的请求路径
  public class MyRouteHandler : IRouteHandler
    {
        #region IRouteHandler 成员
        public IHttpHandler GetHttpHandler(RequestContext requestContext)
        {
            //返回一个请求的对象(IHttpHander),即请求的页面对象,在MyPage中得到当前请求对象信息,并处理请求路劲。
            return new MyPage(requestContext);
        }
        #endregion

    }
3:定义一个IHttpHandler的实现对象MyPage
   public class MyPage : IHttpHandler
    {

        public RequestContext RequestContext { get; set; }

        public MyPage(RequestContext context)
        {
            this.RequestContext = context;
        }

        #region IHttpHandler 成员

        //处理请求的url方法,也就是去替换请求路径当中的相应的参数
        public virtual void ProcessRequest(HttpContext context)
        {
           
            context.Server.Execute(string.Format("/{0}.aspx?category={1}&action={2}",
              RequestContext.RouteData.Values.ContainsKey("file")
                ? RequestContext.RouteData.Values["file"].ToString()
                : "default",
              RequestContext.RouteData.Values.ContainsKey("category")
                ? RequestContext.RouteData.Values["category"].ToString()
                : "",
              RequestContext.RouteData.Values.ContainsKey("action")
                ? RequestContext.RouteData.Values["action"].ToString()
                : "")
                );

        }

        public bool IsReusable
        {
            get {


  • 菜鸟的Web IM。

    2009-7-11 20:58:00

    针对公司OA系统开发的简单Web IM。 基本功能实现: 1>显示在线人员 2>单人对话,对人对话(未完成) 基本原理出来之后 相信后续的功能也不会有很大问题了。

  • ASP.NET Podcast Show #88 - Page State Persistence - Video

    2007-4-16 19:22:00

    Subscribe Download Original URL: http://aspnetpodcast.com/CS11/blogs/asp.net_podcast/arc

  • Lucene..NET系列之二---检索数据

    2011-4-15 23:49:00

    搜索引擎嘛当然最重要的功能在于检索,在前一篇博文中已经介绍了什么是Lucene,然后介绍了怎么样去创建索引。及在建索引中应该注意的一些问题。然后在这一篇博文中将要介绍一下建立好索引之后如何利用Luc

  • Google Maps地图投影全解析

    2009-4-20 22:26:00

    摘要: Google Maps、Virtual Earth等网络地理所使用的地图投影,常被称作Web Mercator或Spherical Mercator,它与常规墨卡托投影的主要区别就是把地球模

  • 5月30日,社区活动:SharePoint技术峰会

    2009-5-27 17:57:00

    5月30日,我会参加SharePoint技术峰会,并贡献一个讲座:《SharePoint开发:模式与重构》(或者可以叫做《如何将模式应用到你的SharePoint程序,并重构它》)。这个讲座面向的对

  • Wpf Docking Library--类似于VisualStudio界面风格的类库

    2009-9-20 17:26:00

    摘要: Wpf Docking LibraryVisualStudio风格 -----------------------------------------------------------

  • 对增删改查用面向对象进行包装

    2009-3-26 13:47:00

    摘要: 增删改查,从字面上来讲,无非就是四个操作,无论是针对哪张表的维护无外乎这四个操作,唯一的不同就是每个表在维护时对于实体的操作不同,我们可以对这部分进行面向对象的包装,使它对客户端调用更加简单

  • 揪出未完成的SharePoint Server 2007调查答复

    2009-3-27 18:23:00

    摘要: SharePoint的调查功能是一种用来收集反馈的极为有效的方法。在调查列表中,可以设置权限来规定用户是否能看到其他用户的答复以及是否能编辑其他用户的答复,但这种权限仅限于其他用户已经正常完

  • Yet ANOTHER C# language enhancement - this_method()

    2007-6-3 21:21:00

    This one was suggested by a coworker leery of accidental recursion. Too many people arent used to

  • Set the MinWidth and MinHeight based on SizeToContent Property

    2010-1-19 7:36:00

    We are developing a WPF application for a client where they want to be able to use the SizeToConten