C# MVC ( 添加路由规则以及路由的反射机制 )

时间:2021-11-16 06:18:29

在项目文件夹下找到 App_Start 下 找到 RouteConfig.cs文件 打开

  (1) 约束的规则 从上往下 贪婪性

  (2) 用 routes.MapRoute(...) 添加

  (3) 路由的反射机制  <%=  Url.Action("方法名","控制器名",new{参数名= 值}) %>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace TestTwo
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");  //禁用的路由规则

            routes.MapRoute(  //不确定参数个数的路由规则
               name: "MyUrl",
               url: "{controller}/{action}/{*id}",  //{*a}不确定个数的占位符
               defaults: new { controller = "Home", action = "Index" }
            );

            routes.MapRoute(  //添加路由规则
                name: "Default",  //路由规则的名称
                url: "{controller}/{action}/{id}",  //路由规则的形式 {占位符}\分隔符
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
                //当路径为空时填写时的默认值
                constraints: new { id=@"\d{4}"}  //为路由规则添加约束(id为四位数字)
            );
        }
    }
}