.net路由

注册路由:
  1. RouteTable.Routes.MapRoute();
  2. RouteTable.Routes.MapHttpRoute();
  3. RouteTable.Routes.MapPageRoute()
复制代码

RouteTable 在程序集 System.Web.Routing;

摘要:

存储应用程序的 URL 路由。

这里只是ASP.NET 中一些应用写法,和前面的写法一样的效果,具体实现原理没有具体研究,应该是一脉相承,只是不同的写法。

前面的路由写法:http://www.shiluan.com/forum.php?mod=viewthread&tid=32598




MapRoute

程序集:System.Web.Mvc.dll

摘要:
映射指定的 URL 路由并设置默认路由值。

参数:
routes: 应用程序的路由的集合。
name: 要映射的路由的名称。
url: 路由的 URL 模式。
defaults: 一个包含默认路由值的对象。

返回值:
对映射路由的引用。


  1. RouteTable.Routes.MapRoute(
  2.                 name: "Default",
  3.                 url: "{controller}/{action}/{id}",
  4.                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
  5.             );
复制代码


MapHttpRoute

程序集:System.Web.Http.WebHost.dll

摘要:
映射指定的路由模板并设置默认路由。

参数:
routes: 应用程序的路由的集合。
name: 要映射的路由的名称。
routeTemplate: 路由的路由模板。
defaults: 一个包含默认路由值的对象。

返回值:
对映射路由的引用。

  1. RouteTable.Routes.MapHttpRoute(
  2.                 name: "API",
  3.                 routeTemplate: "{controller}/{action}/{id}",
  4.                 defaults: new { id = RouteParameter.Optional }
  5.             );
复制代码


MapPageRoute
程序集:System.Web.dll

摘要:

提供用于定义 Web 窗体应用程序的路由的方法。

参数:
routeName: 路由的名称。
routeUrl: 路由的 URL 模式。
physicalFile: 路由的物理 URL。

返回值:
将添加到路由集合的路由。

  1. RouteTable.Routes.MapPageRoute(
  2.                 routeName: "API",
  3.                 routeUrl: "API/{id}",
  4.                 physicalFile: "~/WS.aspx"
  5.                 );
复制代码
ASP.NET 路由约定是一种机制,用于将用户访问网站时输入的 URL 映射到具体的控制器和操作方法。这是基于URL模式的一种约定,通过`System.Web.Routing`命名空间中的`RouteTable`和`Routes`属性来管理。在ASP.NET MVC中,路由主要包括以下几个关键元素: 1. **路由表**: `RouteTable.Routes`是一个`RouteCollection`,它是所有路由规则的集合。 2. **路由声明**: 使用`MapRoute`方法声明一个新的路由,提供了一个模式字符串(template),一个名字(name),以及一个处理器方法(defaults和constraints)。 ```csharp routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); ``` 这个例子中,`"{controller}/{action}/{id}"`是路由模式,`"Home"`、`"Index"`和`UrlParameter.Optional`分别代表默认的控制器、动作和ID参数。 3. **控制器和操作方法匹配**: 当用户请求一个URL时,路由系统会尝试找到最匹配的一个路由,然后把剩余的部分传递给指定的控制器和方法。 4. **参数解析**: `{}`中的名称会被视为参数,如`{controller}`、`{action}`和`{id}`,它们会在请求过程中被自动填充。 为了理解并编写自定义路由,你可以查看`RouteConfig.cs`文件,这里通常集中定义了网站的所有路由规则。常见的路由约定还包括对分页、过滤器等特定功能的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值