2013-07-01 206 views
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 } 
     ); 

回答

1

的问题是,你是不是指到正确的路线。

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

正确的调用应该是:

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

感谢您的回答,我的问题得到解决 – Mazher

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. 
      ) 
+0

谢谢您的回答我的问题得到了解决 – Mazher