1 2 3 4 5 6 7 8 下一页 从.net框架3.5 SP1开始,微软推出了ASP.NET路由支持,从而实现了特定资源的URL与其对应的Web服务器上的物理文件之间的彻底解耦。借助于ASP.NET路由支持,开发人员可以定义一组路由规则,从而实现把路由模式映射到一个生成相应内容的类。例如,你可以把URL“Categories/CategoryName”映射到一个类,该类接收CategoryName而最终生成对应于此种类的产品信息显示于一个网格中的一组HTML标记。有了这样的映射,用户便可以通过访问www.yoursite.com/Categories/Beverages来查看饮料种类对应的所有产品信息。 在.NET 3.5 SP1中,ASP.NET路由主要是为ASP.NET MVC应用而设计的,虽然在非ASP.NET MVC框架支持的Web窗体应用程序中也有可能实现ASP.NET路由支持。然而,在Web窗体应用程序中实现ASP.NET路由会涉及大量额外的工作。 在Web窗体中,通常情况下,我们都要把路由模式映射到一个实际的ASP.NET页面。为此,我们需要创建一个路由处理类以便在请求路由URL时调用之,并且在一定意义上实现了把请求调度到适当的ASP.NET页面。例如,为了把一个路由映射到一个物理文件,比如把 Categories/CategoryName映射到ShowProductsByCategory.aspx,我们需要如下三个步骤: (1)在Global.asax文件中定义映射,用于把路由模式映射到一个路由处理类; (2)创建路由处理类,它负责解析网址,把所有路由参数存储到一些目标页面可以访问到的位置(如HttpContext.Items),并返回一个目标页面或处理请求路由的HTTP处理器的实例; (3)在目标页面中编写代码来获取路由参数,并使用他们生成页面内容。 且不说花费了多大的代价仅仅读取前面的语句(更不用担编写之),你完全能够想象到—在Web窗体应用程序中执行ASP.NET路由不一定是开发人员最直接的任务。 (责任编辑:admin) |