03-设置路由中间件

在Stratup中的Configure方法中 我们看到

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});Code language: JavaScript (javascript)

这里是配置了一个默认的路由。

路由模板

template: “{controller=Home}/{action=Index}/{id?}”);

这样的模板 可以匹配

www.FoxDevelop.COM/course/learn/1这样的地址。

所以我们现在创建一个Course的控制器来演示一下。

{controller=Home} 将Home控制器定义为默认

{action=Index} 将Index的方法为默认

{id?} 将id定义为可选

就是因为有默认值,所以就算我们访问

/ 这样的地址 也可以匹配到Home下面的index方法

默认的路由模板 可以匹配下面地址

/home/index/1

/home/index

/home/index

/home/index

当然 这里的home可以是其他的控制器

Index 可以是其他的方法名

既然是默认路由器 那么.NET CORE MVC 提供一个默认的方法 用来我们注册默认的路由规则

app.UseMvcWithDefaultRoute();
//注册默认路由 等同下面代码
app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});Code language: JavaScript (javascript)

不过是UseMvc还是UseMvcWithDefaultRoute都将RouterMiddleware中间件添加到中间件管道中。

常规路由

/xxxx/yyyy/1

三段式就是常规路由

第一个是控制器名

第二个是Action方法名称

第三个是可选的id 作为action的参数

http://www.COMblogs.com/zhansan

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注