MVC中id的特殊含义是什么?

时间:2016-09-24 09:14:34

标签: c# asp.net-mvc asp.net-mvc-5

如您所知,当我们想要了解某个项目的详细信息时,可以通过

来实现
@Html.ActionLink("Details", "Details", new { id=item.Id })

http://localhost:xxxx/Item/Details/1

我们应该怎么称呼这" 1"参数?它不是查询字符串参数,但它是什么? mvc是否将此参数解释为查询字符串参数?

另一件事是,当我设置如下链接时:

@Html.ActionLink("Edit", "Edit", new { itemIdNo=item.Id })

mvc将此链接创建为:

http://localhost:xxxx/Item/Details?itemIdNo=1

如你所见,它们完全不同。是" id"参数在MVC中有特殊意义吗?

我们应该怎么称呼这" 1"参数?它不是查询字符串参数,但它是什么?

mvc是否将此参数解释为查询字符串参数?

2 个答案:

答案 0 :(得分:4)

在你的RouteConfig.cs中,它调整为"id"

routes.MapRoute(
               name: "Default",
               url: "{controller}/{action}/{id}",
               defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );

如果您想更改它,可以将{id}参数更改为{itemIdNo}。此外,“默认值中的id参数:”行为itemIdNo

答案 1 :(得分:2)

这是一个url路径参数。 name id用​​于匹配控制器操作上具有相同名称的参数。您可以使用任何名称,就像您在第二个示例中所使用的那样。 您可以在路径操作中指定值id应来自哪里,正文,网址等