📜  ASP.NET Core-属性路由(1)

📅  最后修改于: 2023-12-03 14:39:22.312000             🧑  作者: Mango

ASP.NET Core属性路由

在ASP.NET Core中,有两种常用的路由方式:传统的约定路由和属性路由。本文将介绍属性路由的基本概念和使用方法。

什么是属性路由?

属性路由指的是使用特性来指定动作方法的路由。通过使用属性路由,可以将路由信息直接绑定到动作方法上,而不需要在约定路由中指定。这种方式可以提高代码的可读性和灵活性。

如何使用属性路由?

使用属性路由非常简单,只需要将[Route]特性添加到动作方法上即可。例如,以下代码定义了一个名为HelloWorld的控制器,并将Index动作方法指定为/hello-world路由:

[Route("hello-world")]
public class HelloWorldController : Controller
{
    public IActionResult Index()
    {
        return Content("Hello, world!");
    }
}

可以通过添加变量来指定路由参数。例如,以下代码将id参数指定为int类型,并将其添加到/books/路由中:

[Route("books/{id:int}")]
public class BooksController : Controller
{
    public IActionResult Index(int id)
    {
        return Content($"You requested book {id}");
    }
}

可以通过添加多个特性来指定多个路由。例如,以下代码就将ContactsController路由到两个不同的URL:

[Route("contacts")]
[Route("about-us")]
public class ContactsController : Controller
{
    public IActionResult Index()
    {
        return Content("This is the contacts page!");
    }
}
总结

通过使用属性路由,可以将路由信息直接绑定到动作方法上,而不需要在约定路由中指定。这种方式可以提高代码的可读性和灵活性。在实际开发中,可以根据项目需要来选择使用哪种路由方式。