ASP.Net MVC\C# 中的默认路由包含哪三个部分?

csharpserver side programmingprogramming更新于 2025/9/30 16:37:17

ASP.Net MVC 路由模块负责将传入的浏览器请求映射到特定的 MVC 控制器操作。ASP.NET MVC 应用程序启动时,会向框架的路由表注册一个或多个模式,以告知路由引擎如何处理与这些模式匹配的请求。当路由引擎在运行时收到请求时,它会将该请求的 URL 与注册的 URL 模式进行匹配,并根据模式匹配结果给出响应。

ASP.NET 引入路由是为了消除将每个 URL 映射到物理文件的需要。路由使我们能够定义映射到请求处理程序的 URL 模式。System.Web.Routing 由 MVC 框架使用,但它也被 ASP.NET 动态数据使用。MVC 框架利用路由将请求定向到控制器。 Global.asax 文件是我们应用程序的一部分,我们将在其中定义应用程序的路由。

以下是 MVC 应用程序的路由配置 −

public class RouteConfig{
   public static void RegisterRoutes(RouteCollection routes){
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
      routes.MapRoute(
            name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
      );
   }
}

路由名称

路由是映射到处理程序的 URL 模式。处理程序可以是 MVC 应用程序中处理请求的控制器。路由名称可用作对给定路由的特定引用。

约束

一组应用于 URL 模式的约束,用于更精确地定义其匹配的 URL。

URL 模式

URL 模式可以包含文字值和变量占位符。文字值和占位符位于 URL 的片段中,以斜杠 (/) 字符分隔。

发出请求时,URL 会被解析为片段和占位符,并将变量值提供给请求处理程序。此过程类似于解析查询字符串中的数据并将其传递给请求处理程序的方式。在这两种情况下,变量信息都包含在 URL 中,并以键值对的形式传递给处理程序。对于查询字符串,键和值都在 URL 中。对于路由,键是 URL 模式中定义的占位符名称,只有值包含在 URL 中。

默认值

定义路由时,可以为参数指定默认值。defaults 是一个包含默认路由值的对象。默认路由的三个部分包含控制器 (Controller)、动作 (Action) 和 ID。

在上述 URL 中,将匹配相应的控制器和动作。如果我们没有在 URL 中发送控制器和操作方法,并且基于默认路由,则将调用相应的控制器操作方法。


相关文章