2011年10月28日 星期五

ASP.NET MVC 3 的 TagBuilder 換了組件位置


如果使用TagBuilder的地方是在ASP.NET MVC2的網站專案下,是可以直接使用TagBuilder,

而要是將有使用到TagBuilder的類別、Helper的程式放在另外的類別庫專案,也只需要去加入System.Web.MVC的參考,

在ASP.NET MVC 2 裡,TagBuilder的命名空間是「System.Web.Mvc」而組件是「System.Web.Mvc.dll

image

但是到了ASP.NET MVC 3 後就有了改變。


看看ASP.NET MVC 2的原始碼有關TagBuilder的部份,

image

 

而ASP.NET MVC 3的原始碼,目錄結構就已經有所不同,除了「mvc3」目錄外,多了一個「webpages」

image

方案中「System.Web.WebPages」為一個獨立的類別庫專案

image

TagBuilder 在ASP.NET MVC 3 裡雖然Namespace還是一樣是「System.Web.Mvc」,

但是組件(Assembly)所換了地方,原本是在System.Web.Mvc.dll中,而MVC3就移到「System.Web.WebPages.dll

image

image

 

所以在非ASP.NET MVC網站專案的類別庫中要使用TagBuilder時,記得要將「System.Web.WebPages」加入參考,

SNAGHTML41146c4

 

另外也來好好的熟悉一下如何使用TagBuilder,

使用ASP.NET MVC時,就不要用以前的老方法,在程式中出現一堆字串去組HTML Tag,多多使用TagBulider來達成,

MSDN - TagBuilder 類別

ASP.NET MVC - Using the TagBuilder Class to Build HTML Helpers

demoshop - ASP.NET MVC 使用 TagBuilder

 

以上

沒有留言:

張貼留言

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。