路由配置
-
IRouteBuilder
- 通过
MapRoute
方法配置路由模板
在
Startup.cs
类中的Configure
方法里面添加配置app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Home}/{action=Index}/{id?}"); });
- 通过
-
RouteAttribute
- 应用在控制器及方法上
using Microsoft.AspNetCore.Mvc; namespace WebApplication1.Controllers { [Route("admin/test")] public class TestController : Controller { [Route("index")] public IActionResult Index() { return Content("测试路由配置"); } } }
- 通过
Template
属性配置路由模板
路由约束
- 官方文档
- 可对路由数据进行约束
路由数据
- 路由数据也是请求数据的一部分
- 路由数据与表单数据一样,也可以绑定到参数上
- 默认是通过名称匹配,也可以通过
FromRouteAttribute
配置参数与路由数据
using Microsoft.AspNetCore.Mvc;
namespace WebApplication1.Controllers
{
[Route("admin/test")]
public class TestController : Controller
{
[Route("index/{id:int}")]
public IActionResult Index([FromRoute] int id)
{
return Content("id:" + id);
}
}
}