gpt4 book ai didi

asp.net-mvc - MVC routes.MapRoute 名称属性

转载 作者:行者123 更新时间:2023-12-04 19:05:36 26 4
gpt4 key购买 nike

我是 MVC 的新手,所以请耐心等待,因为我只在 MS Tutorial 的第二页上。 (见最后一个代码示例)。对于 HelloWorldController,添加了以下 MapRoute:

routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}");

我只是想知道,是否纯粹是模式匹配在起作用,而“Hello”这个名字仅供我自己引用? 所以,是否没有应该遵循的命名约定,说 MapRoute 应该被称为 HelloWorldWelcome,其中welcome 是HelloWorldController.cs 中的一个方法(见上面的链接)。还是我迂腐?

最佳答案

UrlHelper 也使用路由名称。类(class)。例如:

var url = Url.Route("Hello", new
{
controller = "SomeController",
action = "SomeAction",
name = "charlie",
id = 123
});

这将生成一个匹配的 URL。

当您使用属性路由时,此功能更有用。例如,如果在某个 Controller 上您有一个操作:
[RoutePrefix("api/phonebook")]
public class PhonebookController
{
[HttpGet("contact/{id}", Name = "GetContact")]
public Contact GetContact(int id)
{
...
}
}

在其他代码中,您可以使用 Url.Route("GetContact", new { id = 7 })生成 URL /api/phonebook/contact/7 .

关于asp.net-mvc - MVC routes.MapRoute 名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25693012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com