在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
Previous: 路由技术和第一个Core mvc
Next: 04-配置多个路由