属性路由比常规路由更灵活,但写起来也比较繁琐。
控制器和操作方法的名称不影响属性路由,它们间没有强关联关系。
public class WelcomeController : Controller
{
...
[Route("")]
[Route("Home")]
[Route("Home/Index")]
public ViewResult Welcome()
{
// 查询所有的学生信息
var students = _studentRepository.GetAllStudents();
// 将学生列表传递到视图
return View("~/Views/Home/Index.cshtml", students);
}
}
以下 3 个 URL 路径都会执行 WelcomeController 中的 Welcome 操作方法:
/
/Home
/Home/Index