如您所知,当我们想要了解某个项目的详细信息时,可以通过
来实现@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是否将此参数解释为查询字符串参数?
答案 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应来自哪里,正文,网址等