代码之家  ›  专栏  ›  技术社区  ›  Patricia

ASP.NET MVC URL生成的URL不正确。操作!

  •  3
  • Patricia  · 技术社区  · 15 年前

    我搜索和阅读所有我能在这里和谷歌找到的问题,我似乎找不到答案!

    问题的症结在于:

    routes.MapRoute("Admin - Change Password", "Admin/ResetPassword/{UserId}", New With {.controller = "Admin", .action = "ResetPassword", .UserId = ""})
    

    它生成的URL是: /管理员/用户管理员

    这是url.action所在的页面。不知道这是否重要。

    当我使用路由调试器时,它显示了我希望它生成的与我在地址栏中键入的URL匹配的URL。

    真admin/resetpassword/userid controller=admin,action=resetpassword,userid=

    唯一匹配的其他路线是:

    真控制器/操作/ID控制器=主页,操作=索引,ID=

    真*catchall(空)

    控制器/动作/ID路由是最后一个路由,因此不应受到干扰。

    有什么想法吗?

    编辑:帮助程序的代码:

    <%Url.Action("ResetPassword", "Admin", new with {.UserId= u.userId}) %>
    
    2 回复  |  直到 15 年前
        1
  •  7
  •   Craig Stuntz    15 年前

    不要使用 Action / ActionLink 为命名路由生成一个URI。使用 RouteLink / RouteUrl 相反。它更快,而且 从未 没有找到你想要的路线。完整的解释 here .

        2
  •  0
  •   Community CDub    8 年前

    所以我假设问题是,当您运行应用程序时,您没有得到预期的视图?

    您使用的是什么版本的IIS?如果您使用的是xp/iis 5.1,是否确保添加通配符映射?这是IIS 5.1的常见问题。

    你可以参考链接 here .