ASPNET MVC Preview剛出來就發bug不是想潑冷水而是一貫的為了和大家一起更好地討論學習使用大家一起進步
Pre和Pre的主要區別在Scott的Blog上面已經比較清楚地展示了並且官方也提供了了一個升級文檔http://weblogsaspnet/scottgu/archive////aspnetmvcpreviewreleaseaspx
今天大概看了幾個關鍵的地方目前發現了在ActionURL這個用法上面沒有太大變化的地方但是在獲取上面反而有點小問題
一比如當你試圖在AdminController(對應的View)裡面輸出UrlAction(Foo)的時候理想情況下應該是返回/Admin[mvc]/Foo但是不幸的事情發生了當你在HomeController裡面添加一個Foo的Action並且在globalasaxcs裡面添加了一條Home/Foo的URL規則之後(不添加不會有問題)你再用UrlAction(Foo)的時候返回的將有可能是這樣/Home[mvc]/Foo所以為了保證持久的可用性在這種情況下我們必須放棄UrlAction(Foo)這種方式轉而使用這樣的重寫方法UrlAction(FooAdmin)不光是UrlAction是這樣HtmlActionLink也存在著同樣的問題我反復在IIS/VS以及routesMapRoute/routesAdd方式進行了測試結果都是一樣的這點是很惡心的不知道是我這裡環境的問題還是大家的測試結果也這樣?歡迎大家反饋!
此bug實例下載http://filescnblogscom/szw/ASPNET_MVC_Preview__Routing_bugrar
關鍵測試代碼
Globalasaxcs
routesMapRoute(
About // Route name
Home/About // URL with parameters
new { controller = Home action = About } // Parameter defaults
);
/Views/Admin/Indexaspx
理想情況
Url
Action(
About
)應該和Url
Action(
About
Admin
)輸出一樣
<%= Url
Action(
About
Admin
) %><br />
實際Url
Action(
About
)輸出
<%= Url
Action(
About
) %>
輸出結果
理想情況UrlAction(About)應該和UrlAction(AboutAdmin)輸出一樣/Admin/About
實際UrlAction(About)輸出: /Home/About
另外在這裡總結一下之前個Preview版本的已發現的bug(或者不足之處)的現狀
這些問題我依次發表在了使用微軟ASPNET MVC Framework的一些感受 + 收集園子朋友發現的bug反饋 使用微軟ASPNET MVC Framework的一些感受 + 收集園子朋友發現的bug反饋 【補充】 和MVC Toolkit 部分已發現bug的根治方案 Part()
第一篇說到的一些問題目前還是多多少少存在但這並不能說明都是MVC本身的問題有些是NET的一些特性——比如Linq to SQL——在使用和配合上的一些問題
第一篇第二篇中提到的HtmlHelper中的很多擴展方法很亂的問題這次在Preview中是快刀斬亂麻所有的sizemaxLength之類的屬性都放到了htmlAttributs屬性中倒也清爽升級和使用的時候要多加注意了
第三篇MVC Toolkit 部分已發現bug的根治方案 Part() 中談到的問題在Preview貌似已經完美解決了
[] []
From:http://tw.wingwit.com/Article/program/net/201311/15276.html