一、開始
1、介紹
歡迎光臨asp.net立即上手教程。
asp.net立即上手教程是由一系列實例和支持解說構成的,他的目的是為了讓開發者快速理解asp.net的語法、框架以及asp.net網絡應用程序框架的強大功能。所有的實例設計的短小而容易理解,可以充分展示asp.net的相應功能。在學習完本教程以后,你應該熟悉以下內容:
·asp.net語法。當然,對于熟練的asp開發者,有些asp.net語法元素會很熟悉,而有些卻是新框架所獨有的。本教程的實例覆蓋了所有語法元素的細節。
·asp.net結構和特性。本教程介紹asp.net的特性,這些特性可以讓開發者以前所未有的效率建立交互式的、世界級水平的應用程序。
·最佳實踐。本教程的實例示范了asp.net功能的最佳途徑,同時也避免了潛在的缺陷。
本教材的讀者對象水平要求:
如果你以前從來沒有過開發web頁的經驗,那么本教材不適合你。你應該熟悉html和一般的術語。你不需要有過asp的經驗,但是你應該熟悉交互式頁面的概念,包括表單,腳本和數據訪問。
消化吸收本教材的實例
本教材是所展示內容的最佳實踐。每個實例建立在概念的辨析和前面實例的引申之上。該實例是一個從簡單到復雜,從單一技術到應用的完整的系列
2、什么是asp.net
asp.net是建立在通用語言運行時刻庫(clr)上的應用程序框架。他用來在服務器端構建功能強大的web應用程序。asp.net提供了幾個超越以前模式的優點:
·增強的性能。asp.net是運行在服務器端的編譯后的clr代碼,而不是像asp那樣解釋執行。asp.net利用提前綁定,即時編譯,本地優化和緩存服務來提高性能。所有這一切,性能遠遠大于你以往寫的每一行代碼。
·世界級水平的開發工具支持。在visual studio .net的集成開發環境(ide)中,asp.net框架由豐富的工具箱和設計器組成。所見即所得的(wysiwyg)編輯方式、拖放服務器控件、以及自動部署,僅僅是這一強大工具所提供的一少部分功能。
·強大而富有彈性。由于asp.net是基于(clr)的,因此整個.net平臺的強大和富有彈性,同樣可以應用于web應用程序開發者。.net框架的類庫、消息以及數據訪問解決方案,都可以無縫集成到web。asp.net也是語言中立的,因此你可以選擇你最熟悉的語言,或者通過幾種語言來共同完成一個應用。而且,clr的互用性可以保證你升級到asp.ent的時候,現存的基于com的開發投資依然保留。
·簡單。asp.net使執行常用的工作變得很容易,比如從簡單的表單提交、客戶端驗證,到部署和站點配置。例如,asp.net允許你建立用戶接口,實現頁面和邏輯代碼的分離,同時,就像vb的表單執行模式那樣來處理事件(也就是說,由頁面驅動模式變成了事件驅動模式)。此外,clr簡化了部署,用來管理代碼服務,例如自動參照和垃圾回收。
·易于管理。asp.net使用一個基于文本的、分層次的配置系統,它簡化了服務器端環境和web應用程序的設置。由于配置信息用純文本格式保存,新的設置不需要本地管理工具的支持。這種“零本地支持”的理念也同樣應用到了部署asp.net應用程序。asp.net應用程序部署到服務器,簡化為復制必要的文件到服務器。在部署,甚至替換正在運行的變異代碼的時候,也不需要重新啟動服務器。
·可伸縮性和有效利用性。asp.net被設計成可伸縮的,能為集群和多處理器環境設計提高性能。而且,asp.net運行時刻密切監視和管理進程,這樣,如果發生了錯誤的行為,例如漏洞和死鎖,新的進程會在當前位置建立,來幫助你的應用程序繼續處理事件請求。
·可訂制和擴展。asp.net提供一種良好的擴充結構,允許開發者在適當的級別“插入”他們的代碼。事實上,使用自己的編寫的組件可以擴展或者替換asp.net運行時刻的任何子組件。執行自定義驗證或狀態服務變得前所未有的容易。
·安全性。內建的windows驗證和每一個應用程序的獨立配置,你可以認為你的應用程序是安全的。
接下來的asp.net教程勢力將向您展示這些概念的練習
3、語言支持(c#版本)
語言支持
微軟的.net平臺現在提供內建的三種語言支持:c#, visual basic, 和 jscript。本教材的練習和實例代碼展示如何使用這三種語言建立.net應用程序。關于其他語言的更多得語法信息,請參考.net framework sdk文檔。
下面提供的的代碼段幫助你理解本教材中代碼實例,以及這三種語言之間的差異。
變量聲明
| 以下為引用的內容: int x; string s; string s1, s2; object o; object obj = new object(); public string name; |
語句
response.write("foo");
注釋
// 這是單行注釋
/*這是多行注釋*/
訪問索引屬性
| 以下為引用的內容: string s = request.querystring["name"]; string value = request.cookies["key"]; |
聲明索引屬性
| 以下為引用的內容: // default indexed property public string this[string name] { get { return (string) lookuptable[name]; } } |
聲明簡單屬性
| 以下為引用的內容: public string name { get { set { } |
聲明和使用枚舉
| 以下為引用的內容: // declare the enumeration small = 0, // create a field or property // assign to the property using the enumeration values |
遍歷集合
| 以下為引用的內容: foreach ( string s in coll ) { ... } |
聲明和使用方法
| 以下為引用的內容: // declare a void return function // declare a function that returns a value // declare a function that takes and returns values // use the functions |
定制屬性
| 以下為引用的內容: // stand-alone attribute // attribute with parameters // attribute with named parameters |
數組
| 以下為引用的內容: string[] a = new string[3]; string[][] a = new string[3][3]; |
初始化
| 以下為引用的內容: string s = "hello world"; int i = 1; double[] a = { 3.00, 4.00, 5.00 }; if 語句 if (request.querystring != null) { ... } |
case 語句
| 以下為引用的內容: switch (firstname) { for 循環 |
異常處理
| 以下為引用的內容: try { // code that throws exceptions } catch(overflowexception e) { // catch a specific exception } catch(exception e) { // catch the generic exceptions } finally { // execute some cleanup code } |
字符串連接
| 以下為引用的內容: // using strings // using stringbuilder class for performance |
事件處理委派
| 以下為引用的內容: void mybutton_click(object sender, eventargs e) { ... } |
聲明事件
| 以下為引用的內容: // create a public event // create a method for firing the event |
向事件增加或移除事件處理
| 以下為引用的內容: control.change += new eventhandler(this.changeeventhandler); control.change -= new eventhandler(this.changeeventhandler); |
構造
| 以下為引用的內容: myobject obj = (myobject)session["some value"]; imyobject iobj = obj; |
轉換
| 以下為引用的內容: int i = 3; string s = i.tostring(); double d = double.parse(s); |
帶有繼承的類定義
| 以下為引用的內容: using system; namespace myspace { public class foo : bar { int x; public foo() { x = 4; } } // csc /out:librarycs.dll /t:library |
實現接口
| 以下為引用的內容: public class myclass : ienumerable { ienumerator ienumerable.getenumerator() { |
帶有main方法的類定義
| 以下為引用的內容: using system; public class consolecs { public consolecs() { public static void main (string[] args) { } // csc /out:consolecs.exe /t:exe console.cs |
標準模板
| 以下為引用的內容: using system; public class module { public static void main (string[] args) { } |
|
新聞熱點
疑難解答
圖片精選