VS2010與.NET4系列 6.ASP.NET,HTML,JavaScript片斷支持

今天介紹另一個VS2010中的有用的增強——HTML/ASP.NET/JavaScript片斷支持。片斷通過創建代碼塊和標記塊來提高生產力,你能夠在應用程序中用最少的字符輸入就可以使用到它。

Visual Studio 在以前的版本中就對VB和C#支持“片斷”的概念,但不支持HTML,ASP.NET標記和JavaScript。在VS2010中現在對這些內容類型也支持的很好了。

使用ASP.NET片斷

讓我們演練如何使用片斷快速地實現一個常見的安全場景。特別地,我們將實現一個必要功能,它根據用戶是否登錄來決定站點頁面右上角是顯示 [Login] 還是 [Welcome 用戶名] 消息:

step1

當使用VS2010中的ASP.NET的新項目入門模板創建項目時,上面的功能會自動地爲你添加。爲了演練的目的,我們將假設我們是從一個空白母版頁開始的,並將從頭構建這它。

我們通過在母版頁添加一個標準的 <div> 元素開始,然後把光標定位在元素內:

step2

我們準備使用內置的<asp:loginview>控件幫助實現我們的場景。這個控件是一個模塊控件,允許我們很容易地在 Anonymous 和 LoggedIn 模板之間切換,它會根據用戶是否登錄而自動顯示某個模板。我們不是自動輸入<asp:loginview>標記,而是使用 VS2010 中支持的新的片斷支持。

在編輯器中輸入"<log",這會帶動智能感知並顯示以此開頭的可用元素、控件和代碼片斷。

step3

我們選擇從列表中選擇"loginview"代碼片斷然後按下"tab"鍵來完成它:

step4

現在我們選中了想要使用的片斷,再次按下"tab"鍵來執行片斷,這將用下面的標記立即取代片斷名稱。注意,下面的片斷會添加一個新的<asp:loginview>控件並自動定義兩個最貴常用的模板。我們僅僅用了6次擊鍵就做到了。

step5

現在我們來實現"AnonymousTemplate"。

輸入"<a",智能感知會顯示可用的元素和代碼片斷:

step6

從列表中選擇內置的 "a" 代碼片斷,然後按下 "tab" 完成它。當我們再次按下 tab 它會執行片斷,即用下面的標籤取代片斷名稱:

step7

<a>元素的"href"屬性和內部內容用綠色背景進行了高亮。這表示這些值是可替換的參數,可以使用tab自動在其中移動並填充它們,避免了使用光標鍵或移動鼠標,這樣能讓工作更快。

不需要移動光標或鼠標,我們就能夠輸入登錄頁面的URL:

step8

完成後,按下 "tab" 鍵,VS會在編輯中爲我們自動地高亮第2個內容參數:

step9

我們現在可以輸入要顯示的內容:

step10

一旦完成了 "<anonymousTemplate>" 就可以移到 "<LoggedInTemplate>"。我們將輸入"<log" 來帶出智能感知,並選擇內置的 "loginname" 片斷:

step11

同樣按下 tab 會執行片斷——使它用現在的標記取代片斷:

step12

"FormatString" 屬性的值會爲我們自動的生成一個默認的歡迎文本消息。這個值同樣自動高亮,以便我們想改變它。在這個例子中我們保持這個默認文本。

最終的標記看起來像下面這樣:

step13

當我們運行應用程序時,如果用戶還沒有驗證標記會顯示一個 "[Login]" 鏈接:

step19

當我們登錄後,會看到下面這樣的歡迎字符串:

step15

實現整個場景需要的擊鍵次數總共不到以前要輸入的的15%。

ASP.NET MVC 片斷

內置的片斷對所有的ASP.NET控件和HTML標記元素都是可用的。

內置的片斷對通用的 ASP.NET MVC 視圖場景和內置的 ASP.NET MVC HTML 輔助類同樣是可用的。

例如,我們可以在ASP.NET MVC視圖內輸入 "<act" 並選擇 "actionlink" 片斷:

step16

當我們完成後按下"tab"鍵,片斷會執行——用下面的標記取代片斷名稱:

step17

注意"linktext"和"actionname"的值是作爲片斷參數標示的,這意味着我們可以很容易地取代它們而不需要使用光標鍵或接觸鼠標。第一個 linktext 參數值默認是選中的,這樣我們只需要立即輸入值,然後按"tab"鍵立即選擇和取代第二個 actionname 參數:

step18

自定義片斷

VS2010 包含了超過 200 個內置的片斷,可以立即使用。

非常好的一點是不限於只使用內置片斷,你還可以容易地創建自己的片斷(帶有可代換的參數)並將其導入到VS2010中,以及共享給其他開發人員。

總結

片斷是很有用的特性,使你能夠在編輯器中減少擊鍵,並允許你更加快速地完成場景和任務。片斷現在不僅只針對VB和C#,還支持HTML,ASP.NET和JavaScript,使得它更加有用,也能使你更有生產力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章