WEB开发网
开发学院WEB开发ASP.NET ASP.NET MVC路由扩展:路由映射 阅读

ASP.NET MVC路由扩展:路由映射

 2012-03-26 11:39:19 来源:WEB开发网   
核心提示: </td> </tr> <tr> <td>DataTokens:</td> <td>
                  </td>
            </tr>
             <tr>
                 <td>DataTokens:</td>
                 <td>
                     <ul>
                        <%foreach (var variable in GetRouteData().DataTokens)
                            {%>
                         <li><%=variable.Key%>=<%=variable.Value%></li>
                        <% }%>
                     </ul>
                </td>
             </tr>
          </table>
      </div>
     </form>
 </body>
我们将GetRouteData方法定义在当前页面的后台代码中。如下面的代码片断所示,我们手工创建了一个HttpRequest和HttpResponse对象,HttpRequest的请求的地址为“http://localhost:3721/0512/3”(3721是本Web应用对应的端口号)。根据这两个对象创建了HttpContext对象,并以此创建一个HttpContextWrapper对象。最终我们将其作为参数调用RouteTable的Routes属性的GetRouteData方法并返回。这个方法实际上就是模拟注册的路由表针对相对地址为“/0512/3”的HTTP请求的路由处理。
 
 public partial class Default : System.Web.UI.Page
 {
     private RouteData routeData;
        public RouteData GetRouteData()
       {
          if (null != routeData)
        {
                return routeData;
          }
          HttpRequest request = new HttpRequest("default.aspx", "http://localhost:3721/0512/3", null);
         HttpResponse response = new HttpResponse(new StringWriter());
          HttpContext context = new HttpContext(request, response);
        HttpContextBase contextWrapper = new HttpContextWrapper(context);
          return routeData = RouteTable.Routes.GetRouteData(contextWrapper);
       }

上一页  1 2 3 4 5 6 7 8  下一页

Tags:ASP NET MVC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接