0

这是我的简单操作链接:

<span>@Html.ActionLink(trip.TripDescription, "Index", "Home", new { trip = trip.Trpp, year = trip.TripYear })</span>

这是我对该链接的路线:

routes.MapRoute(
                "Index",
                "{controller}/{action}/{trip}/{year}",
                new { controller = "Home", action = "Index", trip = "", year = "" }
            );

这是正在呈现的内容:

http://localhost:31065/Home/Index?trip=Green&year=2013

我希望它改为呈现这个:

http://localhost:31065/Home/Index/Green/2013

这两个网址都有效,但在外观上我更喜欢后者。

我需要更改什么以使参数位于斜线后面而不是使用旧学校?和 &

TIA

4

1 回答 1

1

看起来好像您的Index路线从未被击中,可能是由于之前定义的其他路线。始终首先保留最具体的路由定义,Controller/Action/Id最后定义默认值。

routes.MapRoute(
    "Index",
    "{controller}/{action}/{trip}/{year}",
    new { controller = "Home", action = "Index" }
);

routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Default", action = "Index", id = UrlParameter.Optional }
);
于 2013-08-29T18:56:59.110 回答