偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

詳解Visual Studio 2010中ASP.NET新增23項(xiàng)功能

開發(fā) 后端
在這里我們將討論的是Visual Studio 2010中關(guān)于ASP.NET新增23項(xiàng)功能,這也能幫助大家更好的利用IDE工作。

在這里我們將介紹的是Visual Studio 2010里新增的23項(xiàng)關(guān)于ASP.NET的新功能,希望對大家有所幫助。

#T#

這篇文章介紹Visual Studio 2010 (ASP.Net 4.0)的新功能。

1、代碼片段(Code Snippets):

代碼段是預(yù)先開發(fā)的代碼模板,可以節(jié)省我們對有關(guān)語法思考的時(shí)間。在VS 2005和VS 2008中,已經(jīng)有建立了很多代碼段。不過,這些只適用于隱藏代碼(code behind)。在VS 2010中代碼片段支持JScript,HTML以及asp.net標(biāo)記。在下面畫面,展示了JScript和HTML片段的快捷菜單。

在JS中:

JS代碼

在Html中 :

HTML中

2、New Profiles:

在以前的dotnet版本中,我們已經(jīng)看到過不同的開發(fā)環(huán)境的配置。如VB, C#, Web development 和General Development。我們根據(jù)自己的需要選擇一個環(huán)境配置。這些選擇將在***次安裝visual studio之后或者通過import export選項(xiàng)。

import export選項(xiàng)

這里介紹兩個VS 2010中配置環(huán)境,兩個都是進(jìn)行HTML開發(fā)的。他們是

Web Development

Web Development (Code Optimized)

Web Development,配置隱藏了客戶對象和HTML Mode頂端的事件欄。

HTML Mode頂端的事件欄

Code Optimized ,你將發(fā)現(xiàn)是沒有code, designer tabs的html 編輯器。它提供了一個更大的空間去玩轉(zhuǎn)html。

編輯器

在你安裝visual studio之后,***次使用的時(shí)候,你能選擇一個配置。你也能改變你的工作環(huán)境的配置通過:Tools > Import & Export Settings > Reset all settings option。 如果在IDE中沒有什么改變,你必須通過重新打開visual studio 使它生效。

3、Generate From Usage:

在ASP.Net以前的版本,微軟推出了從現(xiàn)有的代碼中進(jìn)行代碼重構(gòu)來生成方法,在In ASP.NET 4.0 中,Generate From Usage 有了新概念,能基于現(xiàn)有的代碼來生成屬性,方法,類和的其它類型。

寫一些代碼,選中它,右擊最右側(cè)的字符,你將得到去提取屬性和方法的選項(xiàng)。此選項(xiàng)僅當(dāng)你沒有定義過這個標(biāo)識符才顯示。對于下面的例子智能感應(yīng)不會顯示選項(xiàng)來提取屬性,例如,如果您右鍵點(diǎn)擊變量 i 。

右鍵變量

4、Multi-Targeting:

在2008中就能創(chuàng)建一個2.0或者3.0版本創(chuàng)建項(xiàng)目,而不是用默認(rèn)的3.5去開發(fā)。也是是說,有一個選擇項(xiàng)去改變開發(fā)項(xiàng)目的framework版本。

在2010中亦有相同選項(xiàng)功能,并做出相應(yīng)的提高。在以前的版本中,如果你使用framework 2.0創(chuàng)建一個項(xiàng)目。智能感仍將能顯示3.5版本的類型和成員。如果你不能確定所選擇的framework內(nèi)的成員,所以你就會有更多的機(jī)會去出錯。但是,在VS2010的智能感知會只向您顯示你選擇的framework 版本。

5、MultiMonitor:

Visual Studio 2010 給我們提供能將IDE的窗體移動visual studio IDE之外,將它放至在桌面上。它還支持多面去地去看不同的IDE窗體。如果我們關(guān)閉Visual Studio,并再次打開它,我們會發(fā)現(xiàn)所有的窗體在我們***一次放置的地方。

MultiMonitor

 

6、Code Navigation:

新的導(dǎo)航使我們在文件中更快搜索術(shù)語。但它只能即在App_Code文件夾類文件,搜索您鍵入文本。它不適用于HTML或代碼隱藏文件。在下面的例子,它顯示出我的鍵入函數(shù)名稱,它導(dǎo)航到窗口,選擇窗體中的任何一個,它將能定位到選擇的函數(shù)定義。

Code Navigation

7、View Call Hierarchy:

這有助于查看函數(shù)和屬性的使用,例如,如果你在一個函數(shù)名右鍵,它會告訴你的函數(shù)使用分層列表。

View Call Hierarchy

如果您單擊查看調(diào)用層次,它會顯示一個窗體,告訴你詳細(xì)的函數(shù)調(diào)用:

函數(shù)調(diào)用

在層次結(jié)構(gòu)中選擇窗口函數(shù)調(diào)用它會顯示的參數(shù)和函數(shù)調(diào)用的位置的詳細(xì)信息。

詳細(xì)信息

8、代碼高亮突出顯示:

選擇一個標(biāo)識符,IDE會為你突出的被使用的地方。例如我選擇變量i,在它不同的使用地方,突出的顯示。

高亮顯示

 

9、智能提示的改進(jìn):

在VS 2008中,為一個對象選擇屬性時(shí),它將根據(jù)輸入的字母的順序排列,為你提供智能提示。

在VS2010中它將向你顯示基于組的屬性,例如,如果您的文本框?qū)ο蠛箧I入text, 它將向你顯示Text, TextChanged, TextMode。它也支持Pascal的智能提示。例如,你輸入TC,它將導(dǎo)航TextChanged 成員。

改進(jìn)

在下面的圖片中可以看到4.0版本的ClientIDMode屬性:如果我們從項(xiàng)目屬性上改變framework 版本。它不會顯示這個文本框的這個屬性。

屬性

10、EnablePersistedSelection:

當(dāng)我們選擇像datalist 或者gridview 控件中的一行時(shí),如果我們移動到另一個網(wǎng)頁,在新的頁上,它選擇同編號行,雖然我們只在***頁選擇了它。

為了避免這個,ASP.Net 4.0為這些控件推出了一種新的屬性,這是EnablePersistedSelection。如果設(shè)置為true,在其他網(wǎng)頁中,將不能選擇同一編號。例如,導(dǎo)航到原始網(wǎng)頁,***頁將顯示選定的最初選定的行。

11、Web.Config Transformation

通常為我們的開發(fā)環(huán)境需要在web.config中設(shè)置一些值,然后在部署或測試的時(shí)候,我們手工地改變這些值。

例如,如果我們在Web.config文件中有連接字符串或其他任何鍵值組合,在項(xiàng)目發(fā)布或部署的時(shí)候,我們要去替換他們,這里我們將使用新的術(shù)語:Web.Config Transformation。這是一種自動的方式來執(zhí)行此操作。Web.config 設(shè)置能被其他的配置文件覆蓋,如:web.release.config,web.debug.config 等等,在項(xiàng)目debug和release時(shí)候。這些值不會覆蓋原web.config,但會在發(fā)布的web.config中。

有了transformation的幫助,我們可以替換,移除,刪除一個節(jié)點(diǎn)和我們可以刪除或設(shè)置節(jié)點(diǎn)自身的屬性。例如:

1、創(chuàng)建一個配置文件,從configuration manager > New

配置文件

2、將其命名為 TransformWebConfig。從copy setting from 選項(xiàng)中選擇Release。

命名選擇

這將會創(chuàng)建TransformWebConfig.config。

TransformWebConfig.config

3、右擊web.config,選擇'Add config Transfroms ’選項(xiàng)。打開Web.config并添加一個測試鍵和值。

  1. <appSettings>
  2. <addkey="KeyOne"value="Avalue"/>
  3. </appSettings>

4、打開TransformWebConfig.config,并添加下面一行。

  1. <appSettings>
  2. <addkey="KeyOne"value="TestOnConfigurationConfig"xdt:Transform="Replace"
  3. xdt:Locator="Match(key)"/>
  4. </appSettings>

5、右擊項(xiàng)目,選擇'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。不顯示任何描述性信息,例如,不是顯示網(wǎng)址:http://mywebsite.com/userprofiles.aspx?userid=1,開發(fā)者更愿意顯示:http://mywebsite.com/mydetails。在asp.net 2.0的URL映射為我們提供了一個選項(xiàng),在一定程度上實(shí)現(xiàn)此功能。我們可以提供確切的網(wǎng)址導(dǎo)航和URL顯示給用戶。

Url routing在asp.net 3.5中引入。開發(fā)者創(chuàng)建不同的route處理類取決于網(wǎng)站url routings的數(shù)量。由于有url routing選項(xiàng),回發(fā)的問題能被解決。

在asp.net 4.0中你不需要為每個單獨(dú)的處理程序類來定義routing。建立一個輔助函數(shù)MapPageRoute,幫助您實(shí)現(xiàn)更快速的routing。這些routes在Application_Start中注冊。對于這個在Global.asax SetRouting方法的示例中設(shè)置routing,***個參數(shù)是routing的友好名稱,第二個參數(shù)是檢查URL進(jìn)行模式匹配,第三個是在aspx頁將這一功能為用戶實(shí)施。

Global.asax中是:

現(xiàn)在Book.aspx將使用下面的代碼進(jìn)行進(jìn)一步處理。

 

 

  1. stringParameter=Page.RouteData.Values["RequestParameterName"].ToString();
  2. if(Parameter==”Chemistry”){....}
  3. elseif(Parameter==”Physics”){....}

現(xiàn)在,如果條件滿足,如果我們將首先瀏覽到localhost / MyWebsite /Chemistry 。

13、Add Reference Dialog

在Visual Studio以前的版本中,當(dāng)打開reference dialog box時(shí),這將需要一些時(shí)間來加載.NET程序集文件開始直到它加載從GAC中所有引用。在默認(rèn)情況下打開項(xiàng)目選項(xiàng)卡,在VS2010上添加引用。

引用

 

如果你錯誤地點(diǎn)擊.Net或COM選項(xiàng)卡,你還有一個是取消的所有程序集加載的選項(xiàng)。因此,VS IDE的并不像以前凍結(jié)。

14、Compressing Session Values

ASP.NET session外的進(jìn)程的狀態(tài)值保存在數(shù)據(jù)庫或服務(wù)器上。這些都是以序列化格式保存。發(fā)送到服務(wù)器時(shí)候,更多更大的session將消耗更多的資源 ?,F(xiàn)在,這些可以被壓縮在一個新的構(gòu)建compressionEnabled屬性中。這種對sessionState元素屬性,可以在web.config這樣被聲明。

  1. <sessionState
  2. mode="SQLServer"stateConnectionString="connectionstringgoeshere"
  3. compressionEnabled="true"/>

此選項(xiàng)將用于session外的進(jìn)程。

15、Dynamic lookup:

有一個新的靜態(tài)類型,dynamic。我們可以使用它作為任何對象的類型。如果有任何關(guān)于它的用法,我們能在運(yùn)行時(shí),得到它的錯誤。例如: 輸出這將是:字符串 1。

  1. dynamicintegerValue=1;
  2. dynamicstringValue="astring";
  3. dynamicResult=integerValue+stringValue;

但是如果你改變***一行

  1. dynamicResult=integerValue&stringValue;

你不會得到任何下面的編譯錯誤,在運(yùn)行時(shí),你會得到下面的錯誤。

Operator '&' cannot be applied to operands of type 'int' and 'string'

16、Optional Parameters

在asp.net 4之前,為了實(shí)現(xiàn)可選的參數(shù),我們創(chuàng)建重載函數(shù)。但現(xiàn)在在C#中,可選參數(shù)沒有更多的限制。但是象VB的可選參數(shù)必須放置到***。例如:

  1. publicvoidFunctionOptionalParam(stringName,intAge,stringCountry="")
 

我們可以不提要求的可選參數(shù)的值。

  1. FunctionOptionalParam("MyFullName",20);

17、Named Parameters:

命名的參數(shù)可以忽略的參數(shù)順序,在不同順序的使用帶名稱的參數(shù)。例如:

  1. publicvoidFunctionNamedParam(intx,inty,intz)

在函數(shù)調(diào)用將是:

  1. 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的標(biāo)簽和HTMLMeta的名稱,內(nèi)容屬性可以被用來在運(yùn)行時(shí)動態(tài)添加任何繼標(biāo)記名稱和它的值。

在asp.net 4.0 Page類中有兩個屬性MetaDescription和MetaKeywords。這些可以用來在運(yùn)行時(shí)在html中為description和keyword元素添加meta 的值。這些可以在HTML中提及頁面屬性或以這種方式:

  1. Page.MetaDescription="thisismetadescription";
  2. Page.MetaKeywords="thisisametakeyword";

如果這樣我們看到這樣的HTML生成:

  1. <head>
  2. <metaname="description"content="thisismetadescription"/>
  3. <metaname="keywords"content="thisisametakeyword"/>
  4. </head>

19、Generating Client IDs:

web控件的客戶端ID是根據(jù)父控件ID動態(tài)的產(chǎn)生。 所以,如果你在一個用戶控件中使用textbox,我們必須查看為它生產(chǎn)什么樣ID,才能在客戶端的腳本中直接使用。

有時(shí)這些是動態(tài)的改變用戶控件的名稱也更改它的子控件ID。在asp.net 4.0中,這個問題是可以由頁面的ClientIDMode屬性解決。它有如下可能的值:AutoID , Static, Predictable 和Inherit。

AutoID: 是webpage 的默認(rèn)值,功能和以前ASP.NET的版本一樣。

Static: 為控件設(shè)置一個靜態(tài)的ID,所以我們不需要當(dāng)心父控件的ID,我們也能使用javascript引用它。

例如一個用戶控件里面的textbox ,它外面胡一個ClientIDMode 設(shè)置為static

  1. <asp:TextBoxID="textbox1"runat="server"clientIDMode="Static"></asp:TextBox>
  2. <uc1:WebUserControlID="WebUserControl1"runat="server"/>

 

這個用戶控件包含了textbox2

  1. <asp:TextBoxID="TextBox2"ClientIDMode="Static"runat="server"></asp:TextBox>

這個代碼將產(chǎn)生下面的HTML:

  1. <inputname="ctl00$MainContent$textbox1"type="text"id="textbox1"/>
  2. <inputname="ctl00$MainContent$WebUserControl1$TextBox2"type="text"id="TextBox2"/>

如果我們移除ClientIDMode="static" ,輸出胡HTML將會是:

  1. <inputname="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 屬性上提到:

  1. GridviewID="GridView1"
  2. ClientIDMode="Predictable"
  3. ClientIDRowSuffix="ItemID"

如果在gridview的模板列中的有一個ID為Label1的label控件 ,它被綁定在ItemID 列上。

它的ID將會是:ID= GridView1_Label1_200。

如果我們用數(shù)據(jù)綁定控件之外使用web控件,設(shè)置ClientIDMode等于Predictable:

  1. <asp:TextBoxID="TextBox1"runat="server"ClientIDMode="Predictable"></asp:TextBox>
  2. <asp:PanelID="panel1"runat="server">
  3. <asp:TextBoxID="TextBox2"runat="server"ClientIDMode="Predictable"></asp:TextBox>
  4. </asp:Panel>

你可以看到webcontrols在一個面板輸出和另外一個再面板以外輸出。

  1. <inputname="ctl00$MainContent$TextBox1"type="text"id="MainContent_TextBox1"/>
  2. <divid="MainContent_panel1">
  3. <inputname="ctl00$MainContent$TextBox1"type="text"id="MainContent_TextBox1"/>
  4. </div>

它將產(chǎn)生所有web控件的ID,是panel的頁面的ID加上子控件的ID。

Inherit: WEB控件默認(rèn)是繼承父容器的ID。 控件能覆蓋它父控件的屬性。所以我能為ClientModeID設(shè)置不同的值。

20、Permanent Redirect :

在有些情況下,如果當(dāng)前頁面已經(jīng)過時(shí),我們希望將用戶重定向到新開發(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智能手機(jī)。 ASP.Net 4.0的HttpBrowserCapabilities類被更新符合支持新瀏覽器。

22、Package/Publish :

Package/Publish

Package/Publish提供設(shè)置publish和package命令 。配置調(diào)試選項(xiàng),像以前的版本一樣,Publish提供設(shè)置編譯和生成的選項(xiàng)。

如果托管服務(wù)器上沒有SQL Express或如果您不希望包含發(fā)布的文件,然后選擇從App_Data文件夾中排除的那些文件。如果您選擇選項(xiàng)創(chuàng)建一個的Web包像ZIP文件,它會創(chuàng)建一個部署的zip文件。否則,將是默認(rèn)解壓縮的文件夾。

默認(rèn)情況下,程序包在應(yīng)用程序的OBJ文件夾下創(chuàng)建。默認(rèn)它不會在解決方案瀏覽器中顯示,直到您選擇顯示所有文件選項(xiàng)。我們還可以設(shè)置服務(wù)器Web應(yīng)用程序名稱以及目標(biāo)服務(wù)器的物理路徑。

23、Deploy SQL :

Deploy SQL

部署SQL選項(xiàng),允許您設(shè)置將連接字符串作為部署的一部分。您可以使用不同的名稱和值手動添加連接字符串,或按一下import按鈕從web.config導(dǎo)出。你可以僅僅選擇模式腳本或數(shù)據(jù)庫選項(xiàng)。在一個連接字符串顯示源設(shè)置,我們可以為設(shè)置目標(biāo)服務(wù)器的值。

部署SQL選項(xiàng)

您還可以手動添加數(shù)據(jù)庫腳本文件,通過點(diǎn)擊添加按鈕。您還可以更改SQL文件,以便在服務(wù)器上運(yùn)行。

原文標(biāo)題:ASP.Net4.0中新增23項(xiàng)功能

鏈接:http://www.cnblogs.com/zhuqil/archive/2010/01/05/1639405.html

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2009-12-03 13:34:36

Visual Stud

2010-02-04 09:17:26

Visual Stud

2009-12-03 13:24:19

2013-06-09 15:25:57

Visual Stud

2010-04-01 15:10:06

Visual Stud

2013-06-14 13:49:36

Visual Stud

2009-12-03 10:52:42

2010-05-06 17:46:47

2009-11-19 10:55:33

Visual Stud

2011-09-28 13:48:06

Visual Stud

2009-10-26 15:55:43

URL Routing

2009-07-22 18:08:00

ASP.NET跨頁提交

2010-07-12 16:40:39

Visual Stud

2009-07-29 16:08:07

ASP和ASP.NET

2009-11-19 09:59:47

Visual Stud

2010-03-19 16:43:37

Visual Stud

2009-11-24 09:00:02

Visual Stud

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 10:14:22

ASP.NET開發(fā)

2009-07-28 16:57:50

ASP.NET Ses
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號