我是mvc的新手,正在玩专辑库教程。在我的索引视图中,我有一个这样的循环。
@foreach (var genre in Model) {
<li>@Html.ActionLink(genre.Name, "Browse", new { genre = genre.Name })</li>
}
会产生网址http://localhost:59443/store/Browse?genre=Dicso
在我的浏览视图中,我有类似的代码
@foreach (var album in Model.Albums) {
<li>@Html.ActionLink(album.Title, "Details", new { id = album.AlbumId })</li>
}
然而,这会产生一个结构为http://localhost:59443/store/Details/2
有人可以告诉我为什么使用相同的代码结构是不同的。感谢
答案 0 :(得分:1)
Id是一种特殊情况,因为global.asax中的路由设置。
在global.asax中你会发现类似于此的东西。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}