ASP.NET 4.0 中新增的23項功能
[2] ASP.NET 4.0 中新增的23項功能
這篇文章介紹Visual Studio 2010 (ASP.NET 4.0)的新功能。
1、代碼片段(Code Snippets):
代碼段是預先開發的代碼模板,可以節省我們對有關語法思考的時間。在VS 2005和VS 2008中,已經有建立了很多代碼段。不過,這些只適用于隱藏代碼(code behind)。在VS 2010中代碼片段支持JScript,HTML以及asp.net標記。在下面畫面,展示了JScript和HTML片段的快捷菜單。
在JS中:
在HTML中 :
2、New Profiles:
在以前的dotnet版本中,我們已經看到過不同的開發環境的配置。如 VB, C#, Web development 和General Development。我們根據自己的需要選擇一個環境配置。這些選擇將在第一次安裝visual studio之后或者通過import export選項。
這里介紹兩個VS 2010中配置環境,兩個都是進行HTML開發的。他們是
- Web Development
- Web Development (Code Optimized)
Web Development,配置隱藏了客戶對象和HTML Mode頂端的事件欄 。
Code Optimized ,你將發現是沒有code, designer tabs的html 編輯器。它提供了一個更大的空間去玩轉html。
在你安裝visual studio之后,第一次使用的時候,你能選擇一個配置。 你也能改變你的工作環境的配置通過: Tools > Import & Export Settings > Reset all settings option。 如果在IDE中沒有什么改變,你必須通過重新打開 visual studio 使它生效。
3、Generate From Usage:
寫一些代碼,選中它,右擊最右側的字符,你將得到去提取屬性和方法的選項。此選項僅當你沒有定義過這個標識符才顯示。對于下面的例子智能感應不會顯示選項來提取屬性,例如,如果您右鍵點擊變量 i 。
4、Multi-Targeting:
在2008中就能創建一個2.0或者3.0版本創建項目,而不是用默認的3.5去開發。也是是說,有一個選擇項去改變開發項目的framework版本。
在2010中亦有相同選項功能,并做出相應的提高。在以前的版本中,如果你使用framework 2.0創建一個項目。智能感仍將能顯示3.5版本的類型和成員。如果你不能確定所選擇的framework內的成員,所以你就會有更多的機會去出錯。但是,在VS2010的智能感知會只向您顯示你選擇的framework 版本。
5、MultiMonitor:
Visual Studio 2010 給我們提供能將IDE的窗體移動 visual studio IDE之外,將它放至在桌面上。它還支持多面去地去看不同的IDE窗體。如果我們關閉Visual Studio,并再次打開它,我們會發現所有的窗體在我們最后一次放置的地方。
6、Code Navigation:
新的導航使我們在文件中更快搜索術語。但它只能即在App_Code文件夾類文件,搜索您鍵入文本。它不適用于HTML或代碼隱藏文件。在下面的例子,它顯示出我的鍵入函數名稱,它導航到窗口,選擇窗體中的任何一個,它將能定位到選擇的函數定義。
7、View Call Hierarchy:
這有助于查看函數和屬性的使用,例如,如果你在一個函數名右鍵,它會告訴你的函數使用分層列表。
如果您單擊查看調用層次,它會顯示一個窗體,告訴你詳細的函數調用:
在層次結構中選擇窗口函數調用它會顯示的參數和函數調用的位置的詳細信息。
8、代碼高亮突出顯示:
選擇一個標識符,IDE會為你突出的被使用的地方。例如我選擇變量i,在它不同的使用地方,突出的顯示。
9、智能提示的改進:
在VS 2008中,為一個對象選擇屬性時,它將根據輸入的字母的順序排列,為你提供智能提示。
在VS2010中它將向你顯示基于組的屬性,例如,如果您的文本框對象后鍵入text, 它將向你顯示Text, TextChanged, TextMode。它也支持Pascal的智能提示。 例如,你輸入TC,它將導航TextChanged 成員。
在下面的圖片中可以看到4.0版本的ClientIDMode屬性:如果我們從項目屬性上改變framework 版本。它不會顯示這個文本框的這個屬性。
10、EnablePersistedSelection:
當我們選擇像datalist 或者gridview 控件中的一行時,如果我們移動到另一個網頁,在新的頁上,它選擇同編號行,雖然我們只在第一頁選擇了它。
為了避免這個,ASP.Net 4.0為這些控件推出了一種新的屬性,這是EnablePersistedSelection。如果設置為true,在其他網頁中,將不能選擇同一編號。例如,導航到原始網頁,第一頁將顯示選定的最初選定的行。
11、Web.Config Transformation
通常為我們的開發環境需要在web.config中設置一些值,然后在部署或測試的時候,我們手工地改變這些值。
例如,如果我們在Web.config文件中有連接字符串或其他任何鍵值組合,在項目發布或部署的時候,我們要去替換他們,這里我們將使用新的術語:Web.Config Transformation。這是一種自動的方式來執行此操作。Web.config 設置能被其他的配置文件覆蓋,如:web.release.config,web.debug.config 等等,在項目debug和release時候。這些值不會覆蓋原web.config,但會在發布的web.config中。
有了transformation的幫助,我們可以替換,移除,刪除一個節點和我們可以刪除或設置節點自身的屬性。例如:
1、創建一個配置文件,從configuration manager > New
2、將其命名為 TransformWebConfig。從copy setting from 選項中選擇Release。
這將會創建TransformWebConfig.config。
3、右擊web.config,選擇'Add config Transfroms ’選項。打開Web.config并添加一個測試鍵和值。
<add key="KeyOne" value="A value"/>
appSettings>
4、打開TransformWebConfig.config,并添加下面一行。
<add key="KeyOne" value="TestOnConfigurationConfig" xdt:Transform="Replace"
xdt:Locator="Match(key)" />
appSettings>
5、右擊項目,選擇'Create Package’。 VS會從TransformWebConfig.config文件獲取值,它將改變我們發布的web.config文件中的值。
在成功生成的OBJ文件夾中,檢查TransformWebConfig文件夾下的web.config,您會看到關鍵字KeyOne的值為TestOnConfigurationConfig。