Asp.net-Mvc-2

Asp.Net MVC 2 中的強類型 ActionLink?

  • February 10, 2010

我剛剛下載了 VS.NET 2010 RC 並創建了一個新的 MVC 項目。這個版本中似乎沒有強類型的 ActionLink?這總是會成為“未來”的事情嗎?還是我錯過了什麼?

<%=Html.ActionLink<HomeController>(x => x.Index(),"Home")%>

不,沒有 ActionLink<> 請參閱 ScottGu部落格((出於性能原因。

回复:ASP.NET MVC 2:強類型 Html 助手,2010 年 1 月 12 日,星期二,凌晨 2:32,作者:ScottGu

@安東尼,

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 但是強類型的 ActionLinks 呢? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >

我們並沒有為此添加內置的執行時助手 - 但 David Ebbo 創建了一個很好的 VS 工具外掛,它創建了可以使用的強類型助手:aspnet.codeplex.com/wikipage

希望這可以幫助,

斯科特

強類型 ActionLink 和路由助手不會很快從 Futures 轉移到主要產品。一般來說,不可能向後執行 MVC 管道。也就是說,在給定 MethodInfo 和參數的情況下,不可能創建一條保證會觸發該操作的路由。例如,自定義控制器工廠、操作呼叫程序、過濾器、現有文件或任何數量的其他事物都可能影響特定路由最終命中的操作(如果有的話)。

正因為如此,Futures 中強類型 ActionLink 的合約本質上是“給定此資訊並假設沒有可擴展性掛鉤,猜測哪條路由將執行此操作”。這樣的契約對於實際支持的框架程式碼是不合適的。

引用自:https://stackoverflow.com/questions/2240123