我已经从asp.net mvc 1.0切换到2.0
我的行动链接:
<%=Html.ActionLink("Add bla", "addbla", new { id = Model.Id })%>
现在生成这样的网址:
addbla/500
而不是:
addbla/?Id=5008
这是否与路由有关:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("{*favicon}", new { favicon = @"(.*/)?favicon.ico(/.*)?" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
如何恢复旧行为?
感谢。
基督教
答案 0 :(得分:0)
尝试使用小写id
而不是混合大小写。我在转换的一个项目中没有看到这个问题,但我一直使用小写id
。
答案 1 :(得分:0)
您可以恢复从MapRoute
中删除id
的旧行为
routes.MapRoute(
"Default", // Route name
"{controller}/{action}", // URL with parameters
new { controller = "Home", action = "Index" } // Parameter defaults
);