2013-07-01 246 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