52ABP

    属性路由比常规路由更灵活,但写起来也比较繁琐。

    控制器和操作方法的名称不影响属性路由,它们间没有强关联关系。

    1. public class WelcomeController : Controller
    2. {
    3. ...
    4. [Route("")]
    5. [Route("Home")]
    6. [Route("Home/Index")]
    7. public ViewResult Welcome()
    8. {
    9. // 查询所有的学生信息
    10. var students = _studentRepository.GetAllStudents();
    11. // 将学生列表传递到视图
    12. return View("~/Views/Home/Index.cshtml", students);
    13. }
    14. }

    以下 3 个 URL 路径都会执行 WelcomeController 中的 Welcome 操作方法:

    1. /
    2. /Home
    3. /Home/Index