2010-12-12 91 views
1

那麼正如標題所說,我有一個項目與一羣Html.ActionLinkMVC Html.ActionLink不升級工作後,從.NET 3.5到4.0

<%= Html.ActionLink("Reason for booking", "BookingReason")%> 

的我已經升級的項目。淨4.0,他們不再提供一個鏈接到行動。它只是一個空白,當然會導致頁面重新加載。

Html.ActionLink標記位於Area的Shared文件夾中的用戶控件(ascx)中。

我試着再次降級到.net 3.5,它的工作 - 奇怪。有任何想法嗎?

Thx

+0

升級到.NET 4.0時,「ActionLink」呈現的HTML是什麼,它與.NET 3.5中生成的HTML有什麼不同? – 2010-12-12 15:22:02

+0

是的 - 即時通訊3.5我得到的鏈接與href的行動,在.net 4我得到沒有......發送我的網站的路線。 – SteveCl 2010-12-12 16:04:51

+0

也試過Url.Action和相同。 我的意思是控制器的根,所以http:// site/controller / – SteveCl 2010-12-12 16:06:32

回答

0

對其進行排序。

我需要在我的自定義路徑之上有一個默認路由......必須在某個時候刪除它。

不過奇怪它是如何工作的.NET 3.5,而不是4

context.MapRoute(
      "Name", 
      "AreaName/{action}", 
      new { controller = "defaultController", action = "defaultAction" } 
     ); 
1

請務必UrlParameter.Optional

  routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

標記您的選購PARAMS就是這個問題對我們(症狀爲你)。

- 編輯 這不是唯一的問題。 當遷移到MVC 3,你可以得到下一個問題, 假設你有這樣的路線(idpage是可選)

  routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}/{page}", // URL with parameters 
      new { controller = "Home", action = "Index", id = "", page = "" } // Parameter defaults 
     ); 

現在你必須把它分成2條不同的路線:

 routes.MapRoute(
      "Paged",              // Route name 
      "{controller}/{action}/{id}/{page}", 
      new { controller = "Home", action = "Index", page = UrlParameter.Optional } // Parameter defaults 
     ); 

     routes.MapRoute(
      "Default",              // Route name 
      "{controller}/{action}/{id}", 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional}//, page = UrlParameter.Optional } // Parameter defaults 
     ); 
0

你的問題是我的答案.. :)

那麼工作的解決方案<%= Html.ActionLink("Reason for booking", "BookingReason")%>

  • 在3.5它<%= Html.ActionLink("Reason for booking", "BookingReason")%>
  • 工作在4.0它與<%: Html.ActionLink("Reason for booking", "BookingReason")%>

差異:3.5 - 「=」 4.0 - 「:」

希望,太多解決您的問題..

相關問題