0

我在 Mvc 4 中的路由有问题

我的网址是这样的

  http://localhost:portnumber/Session/View?Id=918&Pid=186

我希望我的网址是这样的

  http://localhost:portnumber/Session/View/918/186

我有这样的看法

@Html.RouteLink("more..", "Default", new {Controller="Session",Action="View",Id=e.Id,Pid=e.Pid })

routes.MapRoute(
           name: "SessionView",
           url: "{controller}/{action}/{Id}/{Pid}",
           defaults: new { controller = "Session", action = "view", Id = UrlParameter.Optional, Pid = UrlParameter.Optional }
       );
4

2 回答 2

1

试试这个

 @Html.ActionLink("more..", "View", "Session", new {Id=e.Id,Pid=e.Pid })

描述:

Html.ActionLink(<<LinkText>>, 
            "<<ActionMethod>>",  
            "<<Controller Name>>",
            new { Id=e.Id,Pid=e.Pid }, // <-- Route arguments.
            )
于 2013-07-01T06:13:27.760 回答
1

问题是你没有指正确的路线。

在路由表中,您添加了一个名为“SessionView”的路由,但在您的@Html.RouteLink 中,您引用了一个名为“Default”的路由。

正确的调用应该是:

@Html.RouteLink("more..", "SessionView", new {Controller="Session",Action="View",Id=e.Id,Pid=e.Pid })
于 2013-07-01T06:18:29.830 回答