ASP.NET 4.0 Roadmap

撰文:吳俊毅
時間:2010/3/11

  就在VS2010已經呼之欲出的時候,ASP.NET 4.0的技術藍圖也已經滿天飛了,在PDC2008中,Scott Hunter有提到關於ASP.NET 4.0除了加強Web Form、AJAX的開發之外,整個ASP.NET的Runtime已經正試提升到FX 4.0,在Scott Hunter的投影片中可以看出端倪:


  整個ASP.NET 4.0不光只有原先的Web Form的開發,並納入jQuery、REST Dynamic Data Service與RIA Service等動態資料存取物件為Core Infratructure與Data And Dynamic Data區塊,如下(資料來自Scott Hunter簡報):


1.Web Control增加ClientIDMode屬性
  Web Form的開發並加入新的ClientIDMode屬性,為了解決當如GridView或DataList等元件當中又包了許多的RadioButton、ImageButton等元件,然而畫面又被一個MasterPage包住,而子元件Rander到前端的IE可能會變成ctl00_ContentPlaceHolder1_ControlState等一長串的名稱,這對於開發人員是很頭痛的一件事,因此ASP.NET 4.0在控制項中增加了CliendIDMode屬性,可以以enumerate方式設定,而可設定的共有四種:
•AutoID: 與原先ASP.NET 3.5之前同樣模式
•Inherit:會繼承父控制項的設定,這是預設值
•Static:靜態的ClientID,也就是ID設什麼它Render前端之後就是什麼,所以開發人員必須自行確保ClientID的唯一性
•Predictable:這個屬性通常會搭配ClientIDRowSuffix屬性一起使用,ClientIDRowSuffix會在設定的屬性的尾端動態加上一組Key職的流水號

2.新增了ViewStateMode屬性,
ASP.NET 4.0的ViewState有一些改良,在ASP.NET 3.5之前的ViewState的Enabled Disabled必須是Page的EnabledViewState必須設為true才可以在頁面的Web Control單獨設定是否開啟ViewState。現在沒有這個限制了,即使Page的EnabledViewState設為False,頁面上的Control可以特過新增的ViewStateMode屬性決定自身的狀態,ViewStateMode是一個列舉值,有三個值可以設定:
•Inherit:會繼承父控制項的設定
•Enabled:即使父項的元件沒有開啟ViewState的狀態,仍然可以開啟自身的ViewState
•Disabled:即使父項的元件是開啟ViewState的狀態,仍然可以關閉自身的ViewState

  另外,ASP.NET 4.0對於FormView、GridView、ListView等元件有做一些加強,FormView之前所詬病的就是過多不必要的<table>標籤,GridView則是改進了當設定了排序時還是可以設定標題的外觀以及新的GridView更是支援在沒有ViewState的狀況下運作!這對整體的效能運作會有些許的提升。還有就是在資料的DataBind支援Entity等Persist 的物件,簡單的說就是可以在畫面變更選擇時同時變更後端的Persist 物件選擇到的那一筆資料。同時ListView也支援此功能。

  其他加強的控制項還有CompareValidator開始支援Time與DateTime的比較,在之前的版本是不允許的。以及DataPager物件已經支援可以在GridView、FormView、DetailView中使用。

  還有在Visual Studio 2010的Web開發環境中會將.NET Chart 3.5與MVC 2 以及RIA Service整合進來,開發人員已經有更多的可利用的資源,而相信在正式版出來之後會更完整。

參考資料:VS2010TrainingKitFebruary

留言

這個網誌中的熱門文章

什麼是 gRPC ?

什麼是 gRPC(二)- 來撰寫第一個 Hello World 吧!

常見的程式碼壞味道(Code Smell or Bad Smell)