查询字符串问题

时间:2010-07-22 12:21:16

标签: asp.net-mvc asp.net-mvc-2

我已经从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
            );

如何恢复旧行为?

感谢。

基督教

2 个答案:

答案 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
);