.Net應該學什麼怎麼學

         這篇文章是轉載自傳智播客,主要講解做.net開發要學哪些東西,怎麼學,下圖是推薦的學習內容和學習順序(除了這裏列出的內容,要走向高手之路肯定還有更多技術需要學習,我這裏只是對於初學者列出的主幹學習內容,並不是全部):

         

         開發者口中的.Net全稱是.Net Framework,在中國大陸,一般將.Net讀作“道特耐特”(中文音標比英文音標更好讀,呵呵)或者“點耐特”。.Net是微軟推出的一門技術,它 是一個技術平臺,基於這個平臺進行開發可以簡化很多工作。關於到底什麼是.Net,不是一兩句話能說清楚的,而且也沒辦法讓初學者理解到底什麼 是.Net,因此你只要記住.Net這個詞,隨着我們越學越深入,你就會理解.Net到底是什麼東西了。 

          基於.Net平臺上有很多語言,比如C#、VB.Net、IronPython、F#、Powershell等,F#、Powershell是滿足特定用途的語言,IronPython、IronRuby等並沒有廣泛應用,VB.Net是僅次於C#的第二大基於.Net的語言,不過按照微軟的戰略是把主要精力放到C#上,VB.Net只是微軟爲了將VB開發人員平滑的轉移到.Net平臺下的語言。因此對於語言來說大家學習C#即可。C#在中國大陸的叫法一 般是“C sharp(C煞普)”,也有少數人讀成“C井”,我不推薦這種叫法。

        初學者可能會弄不清C#和.Net的關係,.Net是一個技術平臺,而C#是這個技術平臺上的一門語言,就像Windows是一個操作系統,而Word、QQ、FireFox則是在Windows上運行的一個程序。初學者不必糾結於這個概念,不是很明白也沒關係。

        .Net的開發工具是VisualStudio,VisualStudio現在有VisualStudio2005、VisualStudio2008、 VisualStudio2010等版本,注意不要糾結於“到底裝VisualStudio2005還是VisualStudio2008,聽說有的公司 還在用VisualStudio2005”、“到底是用新版本的VisualStudio2010還是用VisualStudio2008”這樣的問題, 因爲這些版本並沒有本質的不同,使用方法都類似,就像你會用WindowsXP,換了Windows7以後經過短暫的熟練會用Windows7了一樣。因 爲VisualStudio2010比較消耗資源,如果你的計算機配置較好可以安裝VisualStudio2010,如果配置較差則推薦安裝 VisualStudio2008。

        要學習Web開發一定要按照正確的順序進行學習,很多人被一些《21天精通***》這樣的垃圾書的影響,不學C#、不學.Net Framework、不學Dom,直接上來就學ASP.Net,拖兩個控件、配兩個屬性、雙擊控件寫一個事件響應方法,就開始自詡“精通ASP.Net”了, 照着書控件拖來拖去,可是連C#、.Net、ASP.Net、HTML、JavaScript之前的關係是什麼都不清楚,鬧出了很多笑話。欲速則不達,速成的結果就是以後浪費更多的時間,回想這麼多年你走過的路,有多少次爲了走快點就跳着走,最後又浪費時間返工的事情,按照正確的順序才能更快、更好的掌握.Net。

        有的人可能認爲“我不想成爲高手,有一口飯吃就行了,會拖控件就行了唄”,千萬不要以爲會“不拖控件的開發”就是高手了,高手沒有那麼好當的。我沒有奢求 學編程的人個個都是以“成爲世界頂尖級程序員”、“國內.Net開發者中的知名開發者”爲目標,這個也不現實,大部分人學編程只是看做軟件開發工資不低, 想賺幾年錢娶媳婦生娃,這種想法並不是多沒出息的想法,畢竟“老婆孩子熱炕頭”是最樸實的幸福,你不需要揹負“振興中國軟件產業”這種的重任,但是最起碼 應該找到一份不錯的工作,工作幾年以後能有錢交得起房子首付(對於大部分人來講,能夠交得起首付成爲房奴都是很奢侈的事情)、每月供月供吧,如果只會拖控 件的話就不是能不能成爲高手的問題,而是能不能養家餬口的問題了。

下面來詳細講解學習的各個步驟:

一、C#面向過程編程。

        學習C#語言分爲C#面向過程編程和C#面向對象基礎兩部分。聽到“C#面向過程編程”有人會問了“C#不是一門面向對象的語言嗎,哪兒來的面向過程編程?”,其實面向對象不是代替面向過程的,面向對象是面向過程的一個補充和發展,面向過程就是代碼逐行執行,面向過程就是if/else,面向過程就是for循環,面向過程就是變量、函數,C#中最基礎的也是if、for、變量、函數等這些東西,這些東西就是C#的面向過程部分。對於編程的初學者來說,最難的不是類、繼承、控件、ASP.Net、AJAX之類神乎其神的東西,而是“程序化的思維方式”,也就是怎麼把一個問題的解決方式用計算機的思維方式進行描述。

        我接到過很多想深入學習.Net學生的諮詢,當我問到“你的.Net基礎怎麼樣”的時候,很多人都回答“學過C#、.Net、ASP.Net,感覺基礎還 行”,但是我給了他一個很簡單的題,比如“用for循環累加的方式計算1到100之間整數的和”、“提示用戶輸入兩個數字,然後程序打印兩個數字的和”, 很多人都做不出來。

         對於初學者來說先不用管面向對象、ASP.Net之類的東西迷惑,先學習用最樸實的for、if來編寫程序,通過親手編寫練習題代碼來逐漸形成程序化的思維方式,這個階段也不要使用“看起來很酷”的WinForm或者ASP.Net頁面來做,因爲那樣就會涉及到這個階段不需要去了解的問題,先編寫最簡單的控制檯程序就可以。推薦大家看我錄製的視頻教程《【傳智播客.Net視頻】第1季C#編程基礎》,這個教程針對C#零基礎的同學進行講解,並且在課程中給出了非常多的練習,一定要自己親手把代碼熟練的寫出來,記住是親手寫出來,而不是照着我的代碼抄,更不能是看懂了我的代碼就以爲自己掌握了,要知道“看懂了”和“會寫了”之間差着十萬八千里呢。 對於初學者來說一開始寫那些練習可能有點困難,先理解我寫的代碼,然後自己總結成“先***後***,再***,如果***則***”這樣的用語言描述的 算法,然後照着算法描述自己寫代碼,發現有地方寫起來遇到問題的話再參考我的代碼,最後做到不用看我的代碼、不用看算法描述也能把代碼寫出來,這樣第一階 段的任務就完成了。下面列出我視頻教程中的一些練習題,大家可以自測看這個階段自己是否合格:

       練習1:提示用戶輸入用戶名,然後再提示輸入密碼,如果用戶名是“admin”並且密碼是“888888”,則提示正確,否則提示錯誤,如果用戶名不是admin還提示用戶用戶名不存在。

       練習2:提示用戶輸入年齡,如果大於等於18,則告知用戶可以查看,如果小於10歲,則告知不允許查看,如果大於等於10歲,則提示用戶是否繼續查看(yes、no),如果輸入的是yes則提示用戶可以查看,否則提示不可以查看。(給出測試用例。)

       練習3:從一個整數數組中取出最大的整數

       練習4:計算一個整數數組的所有元素的和。

       練習5:將一個字符串數組輸出爲|分割的形式,比如{“浮雲”,”神馬”,”穿梭”}數組輸出爲“浮雲|神馬|穿梭”。不要使用String.Join等.Net內置方法。

       練習6:有一個整數數組,請聲明一個字符串數組,將整數數組中的每一個元素的值轉換爲字符串保存到字符串數組中。

       練習7:將一個字符串數組的元素的順序進行反轉。{"3","a","8","haha"} 轉換爲{"haha","8","a","3"}。提示:第i個和第length-i-1個進行交換。

學C#基礎的時候的參考書推薦如下兩本:

      (1)《C#圖解教程》,這本書講的清晰易懂,不過部分內容安排順序不合理,大家按照我視頻中的順序進行學習就可以。

      (2)《C#入門經典》適合零基礎的大部頭,不過非常厚,採用的是老外的描述方式,中國人讀起來有點彆扭,而且中文版翻譯的不是太好。

二、C#面向對象基礎

          初學者學面向對象的時候沒必要(也做不到)把面向對象學的非常透、非常深,因爲如果想深刻的理解面向對象,必須要有大量的編程經驗才能真正體會面向對象到底是怎麼回事、有什麼好處。以前聽到過有人建議初學者學習設計模式,我認爲純屬誤人子弟,對於初學者來說沒有大量的編程經驗,根本看不懂設計模式在說什麼。 這個階段只要弄明白怎麼聲明類、什麼是訪問級別(主要是public、private)、什麼是屬性、字段、方法、什麼是繼承、什麼是override就 可以。面向對象有三個特性:封裝、繼承、多態。對於初學者來說理解多態是非常困難的也是沒太大必要的,這個階段只要能掌握封裝和繼承就可以。 

三、簡單的WinForm編程

        WinForm是.Net中用來構建Windows窗體應用程序的技術,對於目前國內市場來講一般也 就是用來桌面版管理系統等的技術。有人會問“我們不是學B/S的ASP.Net開發嗎?爲什麼還要學C/S的WinForm?”,一定要注意我在這段的標 題寫的是“簡單的”WinForm。和ASP.Net比較起來,學WinForm需要學習的前置知識非常少,可以非常快的入手開發,而學習ASP.Net 則需要先學習HTML、JavaScript、Dom等知識。這個階段的學習重點不是WinForm本身,而是通過WinForm在案例中理解類、對象、屬性、方法、事件、索引器等概念,我們是“借殼學習”,因此不用對WinForm的深入技術(比如控件美化、佈局、PInvoke、托盤編程、高級控件、ActiveX等)浪費時間去研究。初學者很難把握WinForm學習的度,還是推薦大家參考看我錄製的視頻教程《【傳智播客.Net視頻】第3季WinForm基礎》。

四、常用.Net Framework類

       .Net Framework中的類是.Net中最豐富、最有價值的內容,.Net Framework中的類是和表現層無關的,也就是無論是在控制檯中、WinForm中還是ASP.Net中都可以調用這些類,比如把一個字符串轉換爲整 數都是使用Convert.ToInt32()這個方法,因此千萬不能因爲你是在控制檯程序中寫這些類就認爲自己在“編寫DOS程序”。

       .Net Framework是非常龐大的,擁有上萬個類,沒必要把這幾萬個類掌握,在這個階段把常用的.Net Framework類掌握了,會對後續階段的學習非常有幫助。這些類包括:String類常用方法、StringBuilder類、IO類 (FileStream、File、Path)、XML操作類、集合類(ArrayList、List<T>、 Dictionary<K,V>)等。

 五、SQL語句

       這個階段主要學習SQL語法,能夠掌握常見的SQL語法。數據庫管理系統有MSSQLServer、Oracle、MySQL、DB2、Access等, 這些不同的系統對於數據庫管理員來說使用方法各異,但是對於開發人員來說差不多,因爲都是用的統一的操作語言“SQL”,通過SQL這門通用的語言,你可 以和不同的數據庫進行溝通,所以只要掌握了.Net開發最常用的MSSQLServer,以後根據工作的需要使用其他的數據庫管理系統會非常簡單。

       現在企業招聘.Net開發人員的時候對於數據庫考查非常多,甚至很多公司的筆試題中有1/3都是關於SQL語句、存儲過程的,因此對於準備學習後找工作的同學來說必須把這部分內容學好。

       這部分內容主要學習:MSSQLServer的簡單管理,Select、Insert、Update、Delete語句,學完了這些內容就可以繼續學習後續的ADO.Net了。學有餘力的同學可以學習Join、Union、子查詢、存儲過程等高級的內容。

       這部分內容學習時大家可以參考我的《程序員的SQL金典》這本書(我將近期發佈這本書的全部免費電子版)和《 【傳智播客.Net視頻】第4季SQL從入門到提高》。這套視頻教程。

六、ADO.Net

       ADO.Net是.Net中用來訪問數據庫的技術,通過ADO.Net我們就能通過程序告訴數據庫“請把年齡大於20歲的人員返回給我”。在學習 ADO.Net之前一定要把常用的SQL語句掌握了,千萬不能學了一句Select * from Persons就來學ADO.Net,否則可能會出現下面這個真實的故事中的笑話了:

       我以前碰到過一個人寫一個“查詢學號爲S001的學生的姓名”的功能,他這麼寫程序(示例性代碼,不嚴謹):

     SqlCommand cmd = conn.CreateCommand();

     cmd.CommandText = “Select * from Persons”;

     SqlDataReader reader = cmd.ExecuteReader();

     while(reader.Read())

     {

       String no = (string)reader[ “No”];

       if(no==” S001”)

      {

           string name = (string)reader[ “Name”];

           MessageBox.Show(name);

      }

    }

       看到這種寫法相信所有人都要崩潰了,因爲好像從來沒學過where語句一樣。因此必須在把常用的SQL語句掌握以後再來學ADO.Net。

       這階段的學習主要學習使用SqlConnection、SqlCommand(ExecuteNonQuery、ExecuteReader、 ExecuteScalar)等類的使用、參數化查詢等,掌握DataSet方式使用離線數據集,能夠自己從頭寫一個SqlHelper類出來即可。

       (注:這段我描述的是ADO.Net基於接口的編程,屬於深入一點的知識,對於初學者來說如果看不懂也沒關係,不用糾結於 此)SqlConnection、SqlCommand等類是ADO.Net中用來連接MSSQLServer的類,連接Oracle等數據庫則使用 OracleConnection、OracleCommand等類,雖然看似不同的類,但是由於ADO.Net通過IDbConnection、 IDbCommand等接口統一了類的方法,所以OracleConnection、OracleCommand等類的用法和 SqlConnection、SqlCommand基本一樣,而且如果通過DbProviderFactories進行基於接口的ADO.Net編程,那 麼編程的時候就是使用IDbConnection、IDbCommand接口,完全不用管SqlConnection、OracleConnection 等這些不同的類。學有餘力的同學可以深入研究一下ADO.Net的接口編程,會對你理解設計模式有很大的幫助。

七、HTML、JavaScript、Dom
       HTML是對網頁長什麼樣子的一個描述,也就是“這裏顯示一個超鏈接、那裏顯示一個按鈕”都是通過HTML來進行描述的。HTML做出來的頁面是靜態、不 變化,如果要實現“點擊【計算】按鈕的時候讓表格放大顯示”這樣的動態效果,則要通過程序操作Dom,一般使用JavaScript這種腳本語言來操作 Dom。
       如果不想成爲只會拖控件的開發人員的話,需要在學習ASP.Net之前把HTML、JavaScript、Dom這些好好學習。提到這一點有同學可能會提 出異議“不是這樣的呀,ASP.Net已經封裝的很好了,拖幾個控件上來就可以了,ASP.Net都幫我們生成HTML了,也不用學 JavaScript,動態效果寫C#代碼就可以了”。
       ASP.Net中這種拖ASP.Net控件的開發技術就叫做WebForm,微軟的WebForm封裝是非常偉大的技術,能夠將複雜的Web開發簡化到可 以像開發WinForm程序一樣點擊,不得不佩服微軟技術的強悍。使用WebForm我們就可以進行傻瓜化的開發,要是每天的工作、做每個項目的時候都能一直這樣“傻瓜”下去也是很美好的,但是很不幸有一些場合中是不能使用這種傻瓜化的開發方式的,舉幾個例子:
        例子1:在網站的註冊頁面中讓用戶所在的省、市,提供兩個下拉列表框(DropDownList),一個爲省的列表框,一個爲市的列表框,當用戶選擇不同的省的時候,市列表框中就列出這個省下的所有市供用戶選擇。
對於這樣一個功能點,如果只會拖控件的人很可能會這麼寫(假設省列表框id爲ddlProvince,市列表框id爲ddlCity),在 Page_Load中加載省列表到ddlProvince,然後在ddlProvince的SelectedIndexChanged事件中響應 ddlProvince的選擇變化,當ddlProvince選擇變化後根據選中項來填充ddlCity。用這種方法實現最大的缺點就是頁面會頻繁的刷 新,每次選擇省以後頁面都會唰一下的刷新一次,這在網速比較慢或者服務器壓力比較大的時候是很慢的,而且用戶體驗很差。這種情況用JavaScript操 作Dom的方法來操作纔會比較好。
        例子2:ASP.Net WebForm中可以使用UpdatePanel控件很輕鬆的實現AJAX效果,不用懂JavaScript、Dom、Json,把控件用 UpdatePanel包裹起來AJAX效果就出來了。但是用UpdatePanel實現AJAX只能在對性能要求不高的場合使用,如果要開發互聯網應用 等對性能要求非常高的場合,UpdatePanel控件是沒法使用的。這時候就需要手寫實現AJAX,而手寫AJAX則需要對JavaScript、 Dom非常熟悉。
       即使全部使用ASP.Net WebForm控件實現,也是需要對HTML熟悉纔可以的,比如不可能項目中使用ListView控件默認生成的代碼,都需要手動調整ListView的模板,而調整模板就需要手寫HTML,不是什麼都“拖一拖”就行的。微軟現在還推出了一個WebForm的兄弟產品:ASP.Net MVC,ASP.Net MVC並不是替代WebForm的,各有所長,但是因爲ASP.Net MVC的優點,以後肯定會有越來越多的項目使用ASP.Net MVC。在ASP.Net MVC中就沒有WebForm中這麼傻瓜化了,很多地方需要手寫HTML代碼,這就對HTML等要求更高
       上面講了HTML、JavaScript、Dom的重要性,下面來講一下具體要學哪些東西、怎麼學。需要提前說明:Web開發中一個非常麻煩的一點就是 HTML、Dom在不同瀏覽器有少量的差異性,也就是一段代碼可能在IE中和FireFox中的效果不一樣,對於初學者來說暫時不需要管那些差異性,降低學習中不必要的難度,學習的時候以一個瀏覽器爲主就可以了。
       剛接觸HTML的人可能感覺比較難,但是一旦熟悉了這種標籤式的用法,HTML就變得非常簡單了,HTML中標籤比較多,標籤的可用屬性更多,做爲一個初 學者沒必要把所有標籤、屬性都學習了,而且也不可能都掌握,把最常用的標籤以及它們的常用屬性掌握了即可,主要的標籤有:p、br、div、font、 a、input、img、li、table、select、textarea、span。學習HTML的時候一定要堅持手寫HTML,千萬不要用VisualStudio、Dreamweaver等中的可視化的拖放方式來編寫HTML頁面,如果只會在設計器可視化拖出HTML頁面的話,後面的學習會困難重重。HTML學習的一個目標就是能夠完全手寫一個很多網站都有的那種靜態註冊頁面出來。
       HTML中還有一個知識點:CSS,CSS是用來對頁面進行美化的描述語言,通過CSS我們能夠將按鈕設置爲紅色或者給一個圖片加上金色邊框。CSS中有 非常多的樣式名,不需要掌握這麼多樣式名,學習的時候只要過一遍,大概知道每個樣式名是做什麼的就可以;也不需要學習怎麼將頁面做的看好,不需要研究那些 好看的CSS效果到底是什麼做出來的,因爲那些工作是美工做的事情,即使是沒有美工的小公司開發人員只要學會怎麼“偷”別的網站做好的特效就可以了。初學 者只要掌握幾種CSS選擇器和Div+CSS佈局就可以。
       和ASP.Net後臺用C#寫代碼不一樣,對於Web前臺頁面的動態效果一般使用JavaScript(不用學已經在Web前端中被淘汰的 VBScript)來編寫,因此需要首先掌握JavaScript語言,JavaScript和C#的語法一樣都是C語言發展過來,很多語法都和C#差不 多,因此不用再從頭學JavaScript語法,只要學習JavaScript和C#相比特有的語法就可以。JavaScript語言也有很多可以很深入 研究的東西,比如閉包、面向對象的實現等,但是除非做Web遊戲開發、開發JavaScript庫等對JavaScript要求非常高的領域,如果是開發 互聯網站、業務系統等(這佔到公司項目中的大部分)對JavaScript並沒有太高的要求,只要熟悉一下JavaScript的語法就可以,然後在後面 的Dom中通過練習逐步熟悉JavaScript。對於初學者來說JavaScript到底學到什麼程度是夠用了是很難界定了,大家可以參考【傳智播客.Net視頻】第7季JavaScript這套視頻教程,然後學Dom的時候參考【傳智播客.Net視頻】第8季Dom》進一步練習就可以。
       很多初學者剛接觸Dom的時候總是想弄明白“到底什麼是Dom”,勸大家沒必要糾結於這些概念,只要知道它是幹什麼的就可以,“通過JavaScript 調用Dom中的屬性、方法就可以動態的操作HTML頁面”、“getElementById就是Dom、btn1.value=’abc’就是dom、 btn1.onclick=myclick就是dom”,通過練習你就會明白這一點就可以了,咱們不是編教科書的,不用搞那些無聊的概念定義。
       Dom的東西非常多,還是那個原則,不用什麼都記住,主要掌握下面幾點:事件、動態設置事件、setInterval定時器、event對象、 getElementById、動態創建Dom元素(createElement、innerHTML、innerText)。掌握這些東西還是要通過大 量的練習來掌握的,只要能把第8季Dom這套視頻中的練習熟練寫出來這幾個階段的目標就達到了。
       JQuery目前是最火的一個JavaScript的庫,千萬不要以爲是一個新的語言,聽到過很多“Jquery是JavaScript的終結 者,Jquery取代了JavaScript”的說法,殊不知,Jquery只是個JavaScript的一個封裝庫,儘快Jquery語法看起來非常奇怪,但是Jquery確實是完全符合JavaScript語法的一個封裝庫。 Jquery只是對Dom操作的一個封裝,學之前需要Dom基礎,否則學起來會很暈。我不建議初學者學完了Dom以後立即學Jquery,還是用Dom多 寫一些程序以後再來學Jquery纔會掌握的又牢靠又快速,我講課的時候就在講完了Dom以後隔了8天的.Net高級技術纔講Jquery也是基於這個考 慮。參考書可以看《鋒利的JQuery》。

八、ASP.Net
       ASP.Net是.Net中用來開發動態Web應用程序的技術,ASP.Net主要分ASP.Net WebForm(以後簡稱WebForm)和ASP.Net MVC兩種技術,大部分人說ASP.Net都是指的ASP.Net WebForm,而ASP.Net MVC則是微軟最近推出的一門技術,前面已經提到過了ASP.Net MVC並不是用來代替ASP.Net WebForm的,因此不要認爲“ASP.Net MVC淘汰了WebForm,學WebForm過時了”,對於初學者來說還是先學習WebForm,等WebForm掌握的比較好以後根據自己的情況學習ASP.Net MVC,現在很多公司招聘的時候都提出了“掌握ASP.Net MVC優先考慮”。下面我們還是主要來談WebForm的學習。

      很多人被那些“短平快”ASP.Net的書誤導了,開始學習就從Button控件、TextBox控件、Repeater控件、GridView控件開始學習,爲龐大的ASP.Net體系所折服,看着千八百頁的書感嘆“暈呢,這麼多控件、什麼多方法、這麼多屬性哪輩子學完呀”。當然也有人會拖幾個控件以後就自詡“精通ASP.Net”,“拖控件、設屬性、寫事件”靠此三招走天下,但是一旦遇到稍微複雜一點問題就懵了。

        WebForm是微軟的一個偉大的創造,能夠將複雜的Web開發進行了屏蔽,能夠讓我們進行傻瓜化的開發,但是微軟再怎麼封裝也不可能讓我們一直“快樂的傻下去”,不瞭解Http、不瞭解“請求—處理—響應”的模型、不瞭解ASP.Net的內部原理,那麼遇到一些稍微複雜一點的問題的話就會感覺很茫然。一旦瞭解了Http、 ASP.Net的原理以後再去學ASP.Net你就能知道那些控件到底幫我們做了什麼,這樣就可以輕鬆的掌握那些控件,不是成爲控件的奴隸,而是成爲控件的主人,讓控件爲我們所用。正是基於這樣的原則,我在傳智播客.net班講ASP.Net基礎的時候,我沒有立即講解那些控件怎麼用,而是使用了4天的時間來講Http協議、Web開發基本原則、“請求—處理—響應”模型、基於HttpHandler開發Web應用、ViewState原理、IsPostBack原理、XSS漏洞等基礎的東西,前4天的內容是難度非常高的東西,一旦把這4天的內容掌握了,後面用幾天時間學員們就能掌握ASP.Net的基礎的東西,而且掌握的非常深入、牢固,如果對這個感興趣可以參考我的【傳智播客.Net視頻】ASP.Net上中下三季內容。

       特別是以後會在ASP.Net開發中佔有一席之地的ASP.Net MVC更是摒棄了ASP.Net WebForm中複雜的事件驅動、屬性等非Web本源的東西,ASP.Net MVC迴歸了Web開發的本質,把Web開發重新用“請求→處理→響應”這樣一個最簡單的模型進行描述,其實是比ASP.Net WebForm更簡單,但是如果只會用ASP.net WebForm進行拖控件開發,那麼如果需要用到ASP.Net MVC就會非常不適應。

        學習WebForm的時候一定要先掌握不使用WebForm進行Web開發的技術,因爲有的項目中如果完全使用WebForm中的服務端進行開發就會有性能等問題,因此這些項目中會不允許使用服務端控件或者不允許使用服務端控件的某些特性。服務端控件必須學,因爲很多功能點中用服務端控件會“多快好省”,但是不要離了服務端控件就活不了。

       WebForm中並不是所有控件都是常用的,初學者的目的是用最短的時間學最有用的內容。工具箱中“標準”中常用的控件如下:Label、Button、LinkButton、ImageButton、HyperLink、DropDownList、ListBox、CheckBox、RadioButton、Literal、FileUpload。很多書上講WebForm的時候講把大量的篇幅放到GridView、DataList、DetailsView、Repeater、ListView等這些數據綁定控件上,其實這些控件大同小異,只要掌握了一個控件另外一個控件很容易掌握,推薦大家學習ListView和Repeater就夠了。

        上面我談了學習.Net Web開發的的八步,這八步看似漫長,其實如果能把所有精力投入上面的話大約兩個月就能學下來。當然學完了這些只是掌握了.Net開發的基礎知識,還需要在項目開發中將這些基礎知識進一步綜合應用。

         希望對大家有用!


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