MVC5 中的自定义路由

Custom Routing in MVC5

在我的 MVC5 应用程序中,我在 Controller 中有几个 Actions

LibraryAreaBooksControllerAddBook的名字Action 名字。

下面是默认的 URL 模式:

http//localhost/Library/Books/AddBook

但我希望 URL 是这样的:

http//localhost/Library/Books/Add-Book

http//localhost/Library/Books/Add/Book

Action 名称应与 Controller.

中的 AddBook 相同

我不想在 URL 中使用 Action

请指导我如何做到这一点。

谢谢,

您可以为此使用属性路由:

[Route("Books/Add-book")]
public ActionResult AddBook()
{
}

请参阅 Attribute Routing not working in areas 以使其适用于区域。

你试过注释吗[ActionName("action")]

你的情况:

[ActionName("add-book")]
public ActionResult AddBook()
{
}