zoukankan      html  css  js  c++  java
  • Asp.net Url Routing

    首先,需要System.Web.Routing.dll文件,因地制宜。公司没安装sp1,所以网上下载了个。

    需要加上2个注册在web.config

    代码
    <assemblies>
                
    <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                
    <add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                
    <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
                
    <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
                
    <add assembly="System.Web.Abstractions,Version=3.5.0.0, Culture=neutral,  PublicKeyToken=31BF3856AD364E35"/>
                
    <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral,  PublicKeyToken=31BF3856AD364E35"/>
            
    </assemblies>
    //是最后2个。如果没Abstractions,也要引入System.Web.Abstractions.dll
    代码
    <httpModules>
          
    <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        
    </httpModules>
    当然,还得加这个注册

    然后是类的写法,添加一个类继承IRouteHandler

    代码
     public class WebFormRouteHandler : IRouteHandler
        {
            
    public WebFormRouteHandler()
            {

            }

            
    public string VirtualPath { getprivate set; }

            
    public WebFormRouteHandler(string virtualPath)
            {
                
    this.VirtualPath = virtualPath;
            }

            
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
            {
                var page 
    = BuildManager.CreateInstanceFromVirtualPath(VirtualPath, typeof(Page)) as IHttpHandler;
                
    return page;
            }
        }

    添加个全局处理程序

    代码
    protected void Application_Start(object sender, EventArgs e)
            {
                RegisterRoutes(RouteTable.Routes);
            }
     
    public static void RegisterRoutes(RouteCollection routes)
            {
                routes.Add(
    "Default"new Route("Home"new WebFormRouteHandler("~/Default.aspx")));
                routes.Add(
    "Personal"new Route("Personal/Home"new WebFormRouteHandler("~/TradeInformation/Default.aspx")));
                routes.Add(
    "Personal.AddTrade"new Route("Personal/AddTrade"new WebFormRouteHandler("~/TradeInformation/AddTradeChoice.aspx")));

                routes.Add(
    "Front.Dog"new Route("Trade/Dog"new WebFormRouteHandler("~/Dog/TradeInformation.aspx")));
                routes.Add(
    "Front.Cat"new Route("Trade/Cat"new WebFormRouteHandler("~/Cat/TradeInformation.aspx")));
                routes.Add(
    "Front.Others"new Route("Trade/Others"new WebFormRouteHandler("~/Others/TradeInformation.aspx")));
                routes.Add(
    "Front.Equipment"new Route("Trade/Equipment"new WebFormRouteHandler("~/Equipment/TradeInformation.aspx")));
                routes.Add(
    "Front.Wholesale"new Route("Trade/Wholesale"new WebFormRouteHandler("~/Wholesale/TradeInformation.aspx")));
                
                routes.Add(
    "Front.CatDetail"new Route("Trade/CatDetail"new WebFormRouteHandler("~/Cat/CatTradeInformationDetail.aspx")));
                
               
            }

    然后页面访问就可以访问对应的标记。例如

  • 相关阅读:
    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(8月20日8月26日)
    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(9月24日9月30日)
    获取免费Windows Store开发者账户方法
    QOCIDriver: unable to create environment Unable to free Error handle: 2 Unable to free Environment
    C:\workdir\dbManager\lib>c:\Qt\Qt5.9.9\5.9.9\mingw53_32\bin\windeployqt.exe ./db ManagerDll.dll
    QT5.9.932 oracle1032 驱动编译
    sqlplus
    c++const成员函数*
    C++ 函数内静态静态变量
    c++构造/拷贝构造函数初始化变量*
  • 原文地址:https://www.cnblogs.com/drek_blog/p/1682396.html
Copyright © 2011-2022 走看看