1

我想将 asp.net mvc 响应移至

http://example.com/emails/list/rob@email.com

使用 RedirectToAction("list", "emails", new { id = "rob@email.com"}); 带你到http://example.com/emails/list?id=rob@email.com

我究竟做错了什么?

谢谢,

4

2 回答 2

0

啊-因为默认路由需要'id',所以视图(html)和控制器中的参数必须称为id。

于 2009-07-03T07:06:10.343 回答
0

似乎配置错​​误的路由。Global.asax.cs 中的 RegisterRoutes 方法应如下所示:

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Account", action = "Login", id = "" }  // Parameter defaults
        );

    }

在“{controller}/{action}/{id}”行中,{id}​​ 的存在意味着它将被它的值替换。

路由字符串中不存在的任何其他参数将被解码为 ?some_param=value

于 2009-07-24T18:44:02.757 回答