您好,登錄后才能下訂單哦!
這篇“Visual Studio2010及.Net4的新功能有哪些”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Visual Studio2010及.Net4的新功能有哪些”文章吧。
1、代碼片段(Code Snippets):
代碼段是預先開發(fā)的代碼模板,可以節(jié)省我們對有關(guān)語法思考的時間。在Visual Studio 2005和Visual Studio 2008中,已經(jīng)有建立了很多代碼段。不過,這些只適用于隱藏代碼(code behind)。在Visual Studio 2010中代碼片段支持JavaScript,HTML以及ASP.NET標記。在下面畫面,展示了JavaScript和HTML片段的快捷菜單。
在JavaScript中:
在Html中:
2、New Profiles:
在以前的dotnet版本中,我們已經(jīng)看到過不同的開發(fā)環(huán)境的配置。如 VB, C#, Web development 和General Development。我們根據(jù)自己的需要選擇一個環(huán)境配置。這些選擇將在第一次安裝visual studio之后或者通過import export選項。這里介紹兩個Visual Studio 2010中配置環(huán)境,兩個都是進行HTML開發(fā)的。他們是:
◆Web Development。
◆Web Development (Code Optimized)。
◆Web Development,配置隱藏了客戶對象和HTML Mode頂端的事件欄。
◆Code Optimized ,你將發(fā)現(xiàn)是沒有code, designer tabs的html 編輯器。
◆它提供了一個更大的空間去玩轉(zhuǎn)html。
在你安裝Visual Studio之后,第一次使用的時候,你能選擇一個配置。 你也能改變你的工作環(huán)境的配置通過: Tools > Import & Export Settings > Reset all settings option。 如果在IDE中沒有什么改變,你必須通過重新打開Visual Studio使它生效。
3、Generate From Usage:
在ASP.NET以前的版本,微軟推出了從現(xiàn)有的代碼中進行代碼重構(gòu)來生成方法,在ASP.NET 4.0中, Generate From Usage 有了新概念,能基于現(xiàn)有的代碼來生成屬性,方法,類和的其它類型。
寫一些代碼,選中它,右擊最右側(cè)的字符,你將得到去提取屬性和方法的選項。此選項僅當你沒有定義過這個標識符才顯示。對于下面的例子智能感應(yīng)不會顯示選項來提取屬性,例如,如果您右鍵點擊變量i。
4、Multi-Targeting:
在Visual Studio 2008中就能創(chuàng)建一個2.0或者3.0版本創(chuàng)建項目,而不是用默認的3.5去開發(fā)。也是是說,有一個選擇項去改變開發(fā)項目的framework版本。在Visual Studio 2010中亦有相同選項功能,并做出相應(yīng)的提高。在以前的版本中,如果你使用framework 2.0創(chuàng)建一個項目。智能感仍將能顯示3.5版本的類型和成員。如果你不能確定所選擇的framework內(nèi)的成員,所以你就會有更多的機會去出錯。但是,在Visual Studio 2010的智能感知會只向您顯示你選擇的framework 版本。
5、MultiMonitor:
Visual Studio 2010給我們提供能將IDE的窗體移動visual studio IDE之外,將它放至在桌面上。它還支持多面去地去看不同的IDE窗體。如果我們關(guān)閉Visual Studio,并再次打開它,我們會發(fā)現(xiàn)所有的窗體在我們最后一次放置的地方。
6、Code Navigation:
新的導航使我們在文件中更快搜索術(shù)語。但它只能即在App_Code文件夾類文件,搜索您鍵入文本。它不適用于HTML或代碼隱藏文件。在下面的例子,它顯示出我的鍵入函數(shù)名稱,它導航到窗口,選擇窗體中的任何一個,它將能定位到選擇的函數(shù)定義。
7、View Call Hierarchy:
這有助于查看函數(shù)和屬性的使用,例如,如果你在一個函數(shù)名右鍵,它會告訴你的函數(shù)使用分層列表。如果您單擊查看調(diào)用層次,它會顯示一個窗體,告訴你詳細的函數(shù)調(diào)用:在層次結(jié)構(gòu)中選擇窗口函數(shù)調(diào)用它會顯示的參數(shù)和函數(shù)調(diào)用的位置的詳細信息。
8、代碼高亮突出顯示:
選擇一個標識符,IDE會為你突出的被使用的地方。例如我選擇變量i,在它不同的使用地方,突出的顯示。
9、智能提示的改進:
在Visual Studio 2008中,為一個對象選擇屬性時,它將根據(jù)輸入的字母的順序排列,為你提供智能提示。在Visual Studio 2010中它將向你顯示基于組的屬性,例如,如果您的文本框?qū)ο蠛箧I入text, 它將向你顯示Text, TextChanged, TextMode。它也支持Pascal的智能提示。例如,你輸入TC,它將導航TextChanged成員。
在下面的圖片中可以看到4.0版本的ClientIDMode屬性:如果我們從項目屬性上改變framework版本。它不會顯示這個文本框的這個屬性。
10、EnablePersistedSelection:
當我們選擇像datalist 或者gridview 控件中的一行時,如果我們移動到另一個網(wǎng)頁,在新的頁上,它選擇同編號行,雖然我們只在第一頁選擇了它。為了避免這個,ASP.NET 4.0為這些控件推出了一種新的屬性,這是EnablePersistedSelection。如果設(shè)置為true,在其他網(wǎng)頁中,將不能選擇同一編號。例如,導航到原始網(wǎng)頁,第一頁將顯示選定的最初選定的行。
11、Web.Config Transformation
通常為我們的開發(fā)環(huán)境需要在web.config中設(shè)置一些值,然后在部署或測試的時候,我們手工地改變這些值。例如,如果我們在Web.config文件中有連接字符串或其他任何鍵值組合,在項目發(fā)布或部署的時候,我們要去替換他們,這里我們將使用新的術(shù)語:Web.Config Transformation。這是一種自動的方式來執(zhí)行此操作。Web.config 設(shè)置能被其他的配置文件覆蓋,如:web.release.config,web.debug.config 等等,在項目debug和release時候。
這些值不會覆蓋原web.config,但會在發(fā)布的web.config中。有了transformation的幫助,我們可以替換,移除,刪除一個節(jié)點和我們可以刪除或設(shè)置節(jié)點自身的屬性。例如:
1、創(chuàng)建一個配置文件,從configuration manager > New。
2、將其命名為 TransformWebConfig。從copy setting from 選項中選擇Release。這將會創(chuàng)建TransformWebConfig.config。
3、右擊web.config,選擇'Add config Transfroms ’選項。打開Web.config并添加一個測試鍵和值。
<appSettings> <add key="KeyOne" value="A value"/> </appSettings>
4、打開TransformWebConfig.config,并添加下面一行。
<appSettings> <add key="KeyOne" value="TestOnConfigurationConfig" xdt:Transform="Replace" xdt:Locator="Match(key)" /> </appSettings>
5、右擊項目,選擇'Create Package’。 VS會從TransformWebConfig.config文件獲取值,它將改變我們發(fā)布的web.config文件中的值。在成功生成的OBJ文件夾中,檢查TransformWebConfig文件夾下的web.config,您會看到關(guān)鍵字KeyOne的值為TestOnConfigurationConfig。
12、URL Routing:
現(xiàn)在,我們看到網(wǎng)站的URL是更具體的SEO。不顯示任何描述性信息,在ASP.NET 2.0的URL映射為我們提供了一個選項,在一定程度上實現(xiàn)此功能。我們可以提供確切的網(wǎng)址導航和URL顯示給用戶。Url routing在ASP.NET 3.5中引入。開發(fā)者創(chuàng)建不同的route處理類取決于網(wǎng)站url routings的數(shù)量。由于有url routing選項,回發(fā)的問題能被解決。
在ASP.NET 4.0中你不需要為每個單獨的處理程序類來定義routing。建立一個輔助函數(shù)MapPageRoute,幫助您實現(xiàn)更快速的routing。這些routes在Application_Start中注冊。對于這個在Global.asax SetRouting方法的示例中設(shè)置routing,第一個參數(shù)是routing的友好名稱,第二個參數(shù)是檢查URL進行模式匹配,第三個是在aspx頁將這一功能為用戶實施。Global.asax中是:
protected void Application_Start(object sender, EventArgs e) { SetRouting(System.Web.Routing.RouteTable.Routes); } private void SetRouting(System.Web.Routing.RouteCollection routeCollection) { routeCollection.MapPageRoute("RouteFriendlyName", "MyWebsite/RequestParameterName", "~/Book.aspx"); // you can add other page routes with different names and combinations here }
現(xiàn)在Book.aspx將使用下面的代碼進行進一步處理。
string Parameter = Page.RouteData.Values["RequestParameterName"].ToString(); if (Parameter==”Chemistry”){....} else if (Parameter==”Physics”){....}
現(xiàn)在,如果條件滿足,如果我們將首先瀏覽到localhost / MyWebsite /Chemistry 。
13、Add Reference Dialog:
在Visual Studio以前的版本中,當打開reference dialog box時,這將需要一些時間來加載.NET程序集文件開始直到它加載從GAC中所有引用。在默認情況下打開項目選項卡,在Visual Studio 2010上添加引用。如果你錯誤地點擊.Net或COM選項卡,你還有一個是取消的所有程序集加載的選項。因此,Visual Studio IDE的并不像以前凍結(jié)。
14、Compressing Session Values:
ASP.NET session外的進程的狀態(tài)值保存在數(shù)據(jù)庫或服務(wù)器上。這些都是以序列化格式保存。發(fā)送到服務(wù)器時候,更多更大的session將消耗更多的資源 。現(xiàn)在,這些可以被壓縮在一個新的構(gòu)建compressionEnabled屬性中。這種對sessionState元素屬性,可以在web.config這樣被聲明。
<sessionState mode="SQLServer" stateConnectionString="connectionstring goes here" compressionEnabled="true"/>
此選項將用于session外的進程。
15、Dynamic lookup:
有一個新的靜態(tài)類型:dynamic。我們可以使用它作為任何對象的類型。如果有任何關(guān)于它的用法,我們能在運行時,得到它的錯誤。例如:
dynamic integerValue = 1; dynamic stringValue = " a string"; dynamic Result = integerValue + stringValue;
輸出這將是:字符串 1。但是如果你改變最后一行:
dynamic Result = integerValue & stringValue;
你不會得到任何下面的編譯錯誤,在運行時,你會得到下面的錯誤。
Operator '&' cannot be applied to operands of type 'int' and 'string'
16、Optional Parameters
在ASP.NET 4之前,為了實現(xiàn)可選的參數(shù),我們創(chuàng)建重載函數(shù)。但現(xiàn)在在C#中,可選參數(shù)沒有更多的限制。但是象VB的可選參數(shù)必須放置到最后。例如:
public void FunctionOptionalParam(string Name, int Age, string Country = "")
我們可以不提要求的可選參數(shù)的值。
FunctionOptionalParam("My Full Name",20);
17、Named Parameters:
命名的參數(shù)可以忽略的參數(shù)順序,在不同順序的使用帶名稱的參數(shù)。例如:
public void FunctionNamedParam(int x, int y , int z)
在函數(shù)調(diào)用將是:
FunctionNamedParam(x:1, z:3, y:2);
在函數(shù)聲明的順序之前,雖然我們?yōu)閰?shù)設(shè)置了Z的值,但這些仍然等同于x = 1,ý = 2,z=3。
18、Meta Tags:
HtmlMeta類可用于動態(tài)添加HTML meta的標簽和HTMLMeta的名稱,內(nèi)容屬性可以被用來在運行時動態(tài)添加任何繼標記名稱和它的值。在ASP.NET 4.0 Page類中有兩個屬性MetaDescription和MetaKeywords。這些可以用來在運行時在html中為description和keyword元素添加meta的值。這些可以在HTML中提及頁面屬性或以這種方式:
Page.MetaDescription = "this is meta description"; Page.MetaKeywords = "this is a meta keyword";
如果這樣我們看到這樣的HTML生成:
<head> <meta name="description" content="this is meta description " /> <meta name="keywords" content="this is a meta keyword" /> </head>
19、Generating Client IDs:
web控件的客戶端ID是根據(jù)父控件ID動態(tài)的產(chǎn)生。 所以,如果你在一個用戶控件中使用textbox,我們必須查看為它生產(chǎn)什么樣ID,才能在客戶端的腳本中直接使用。有時這些是動態(tài)的改變用戶控件的名稱也更改它的子控件ID。在ASP.NET 4.0中,這個問題是可以由頁面的ClientIDMode屬性解決。它有如下可能的值:AutoID , Static, Predictable 和Inherit。
AutoID: 是webpage 的默認值,功能和以前ASP.NET的版本一樣。
Static: 為控件設(shè)置一個靜態(tài)的ID,所以我們不需要當心父控件的ID,我們也能使用javascript引用它。例如一個用戶控件里面的textbox ,它外面胡一個ClientIDMode設(shè)置為static。
<asp:TextBox ID="textbox1" runat="server" clientIDMode="Static"></asp:TextBox> <uc1:WebUserControl ID="WebUserControl1" runat="server" />
這個用戶控件包含了textbox2:
<asp:TextBox ID="TextBox2" ClientIDMode="Static" runat="server"></asp:TextBox>
這個代碼將產(chǎn)生下面的HTML:
<input name="ctl00$MainContent$textbox1" type="text" id="textbox1" /> <input name="ctl00$MainContent$WebUserControl1$TextBox2" type="text" id="TextBox2" />
如果我們移除ClientIDMode="static" ,輸出胡HTML將會是:
<input name="ctl00$MainContent$textbox1" type="text" id="MainContent_textbox1" />
它將產(chǎn)生象以前ASP.NET版本的textbox的ID。
Predictable:如果gridview 或者listview控件中我們設(shè)置ClientIDMode的值為Predictable,它將會串連控件ID和Gridview的ID,column的值在ClientIDRowSuffiex屬性上提到:
Gridview ID ="GridView1" ClientIDMode="Predictable" ClientIDRowSuffix="ItemID"
如果在gridview的模板列中的有一個ID為Label1的label控件 ,它被綁定在ItemID列上。它的ID將會是:ID= GridView1_Label1_200。如果我們用數(shù)據(jù)綁定控件之外使用web控件,設(shè)置ClientIDMode等于Predictable:
<asp:TextBox ID="TextBox1" runat="server" ClientIDMode="Predictable"></asp:TextBox> <asp:Panel ID="panel1" runat="server"> <asp:TextBox ID="TextBox2" runat="server" ClientIDMode="Predictable"></asp:TextBox> </asp:Panel>
你可以看到webcontrols在一個面板輸出和另外一個再面板以外輸出。
<input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" /> <div id="MainContent_panel1"> <input name="ctl00$MainContent$TextBox1" type="text" id="MainContent_TextBox1" /> </div>
它將產(chǎn)生所有web控件的ID,是panel的頁面的ID加上子控件的ID。Inherit: WEB控件默認是繼承父容器的ID。 控件能覆蓋它父控件的屬性。所以我能為ClientModeID設(shè)置不同的值。
20、Permanent Redirect :
在有些情況下,如果當前頁面已經(jīng)過時,我們希望將用戶重定向到新開發(fā)的網(wǎng)頁。 我們可以使用Response.Redirect轉(zhuǎn)移頁到新的頁面。但是,在這種情況下,搜索引擎保存搜索索引的網(wǎng)頁的舊信息。 另外,如果用戶瀏覽到這個網(wǎng)頁,他將被重定向到這個網(wǎng)頁,然后用命令的response.redriect幫助新打開的一頁。
但在ASP.NET 4.0中一個新的命令Response.RedirectPermanent可用于更改服務(wù)器頁上的頭信息。因此,如果用戶去為他直接重定向到新的一頁,并為他節(jié)省了雙行頁面。在該網(wǎng)站和網(wǎng)頁更新的發(fā)現(xiàn)頭和更新其索引信息,展示最新的信息重新搜索索引同樣的搜索引擎。
21、New Browser Definitions:
在ASP.net 3.5近幾年,一些瀏覽器已經(jīng)更新,其中包括Google chrome和那些支持blackberry智能手機。 ASP.Net 4.0的HttpBrowserCapabilities類被更新符合支持新瀏覽器。
22、Package/Publish :
Package/Publish提供設(shè)置 publish和package命令。配置調(diào)試選項,像以前的版本一樣,Publish提供設(shè)置編譯和生成的選項。如果托管服務(wù)器上沒有SQL Express或如果您不希望包含發(fā)布的文件,然后選擇從App_Data文件夾中排除的那些文件。如果您選擇選項創(chuàng)建一個的Web包像ZIP文件,它會創(chuàng)建一個部署的zip文件。否則,將是默認解壓縮的文件夾。
默認情況下,程序包在應(yīng)用程序的OBJ文件夾下創(chuàng)建。默認它不會在解決方案瀏覽器中顯示,直到您選擇顯示所有文件選項。我們還可以設(shè)置服務(wù)器Web應(yīng)用程序名稱以及目標服務(wù)器的物理路徑。
23、Deploy SQL :
部署SQL選項,允許您設(shè)置將連接字符串作為部署的一部分。您可以使用不同的名稱和值手動添加連接字符串,或按一下import按鈕從web.config導出。你可以僅僅選擇模式腳本或數(shù)據(jù)庫選項。在一個連接字符串顯示源設(shè)置,我們可以為設(shè)置目標服務(wù)器的值。您還可以手動添加數(shù)據(jù)庫腳本文件,通過點擊添加按鈕。您還可以更改SQL文件,以便在服務(wù)器上運行。
以上就是關(guān)于“Visual Studio2010及.Net4的新功能有哪些”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。