mvc4中的路由问题

时间:2013-07-01 06:04:49

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

我在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 }
       );

2 个答案:

答案 0 :(得分: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.
            )

答案 1 :(得分:1)

问题在于你没有提到正确的路线。

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

正确的电话应该是:

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