全力推出--【ASP.NET(bata2)立即上手教程(c#版)】不能不看!!! (轉)
全力推出--【ASP.NET(bata2)立即上手教程(c#版)】不能不看!!! (轉)[@more@]一、開始
1、介紹
歡迎光臨立即上手教程。
立即上手教程是由一系列例項和支援解說構成的,他的目的是為了讓開發者理解ASP.NET的語法、以及ASP.NET應用框架的強大功能。所有的例項設計的短小而容易理解,可以充分展示ASP.NET的相應功能。在學習完本教程以後,你應該熟悉以下內容:
·ASP.NET語法。當然,對於熟練的ASP開發者,有些ASP.NET語法元素會很熟悉,而有些卻是新框架所獨有的。本教程的例項覆蓋了所有語法元素的細節。
·ASP.NET結構和特性。本教程介紹ASP.NET的特性,這些特性可以讓開發者以前所未有的建立互動式的、世界級水平的應用程式。
·最佳實踐。本教程的例項示範了ASP.NET功能的最佳途徑,同時也避免了潛在的缺陷。
本教材的讀者水平要求:
如果你以前從來沒有過開發頁的,那麼本教材不適合你。你應該熟悉html和一般的web開發術語。你不需要有過asp的經驗,但是你應該熟悉互動式頁面的概念,包括表單,指令碼和資料訪問。
消化吸收本教材的例項
本教材是所展示內容的最佳實踐。每個例項建立在概念的辨析和前面例項的引申之上。該例項是一個從簡單到複雜,從單一技術到應用的完整的系列
2、什麼是ASP.NET
Asp.net是建立在通用語言執行時刻庫(CLR)上的應用程式框架。他用來在端構建功能強大的web應用程式。Asp.net提供了幾個超越以前web開發的優點:
·增強的。Asp.net是執行在伺服器端的編譯後的CLR程式碼,而不是像ASP那樣解釋。Asp.net利用提前繫結,即時編譯,本地和快取服務來提高效能。所有這一切,效能遠遠大於你以往寫的每一行程式碼。
·世界級水平的開發工具支援。在的整合開發環境()中,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執行時刻的任何子元件。執行自定義驗證或狀態服務變得前所未有的容易。
·性。內建的驗證和每一個應用程式的獨立配置,你可以認為你的應用程式是安全的。
接下來的asp.net教程勢力將向您展示這些概念的練習
3、語言支援(版本)
語言支援
的.net平臺現在提供內建的三種語言支援:C#, , 和 。本教材的練習和例項程式碼展示如何使用這三種語言建立.net應用程式。關於其他語言的更多得語法資訊,請參考.NET SDK文件。
下面提供的的程式碼段幫助你理解本教材中程式碼例項,以及這三種語言之間的差異。
變數宣告
int x;
String s;
String s1, s2;
o;
Object obj = new Object();
public String name;
語句
Response.Write("foo");
註釋
// 這是單行註釋
/*
這是
多
行
註釋*/
訪問屬性
String s = Request.QueryString["Name"];
String value = Request.["key"];
宣告索引屬性
// Default Indexed Property
public String this[String name] {
get {
return (String) lookuptable[name];
}
}
宣告簡單屬性
public String name {
get {
...
return ...;
}
set {
... = value;
}
}
宣告和使用列舉
// Declare the Enumeration
public enum MessageSize {
Small = 0,
Medium = 1,
Large = 2
}
// Create a Field or Property
public MessageSize msgsize;
// Assign to the property using the Enumeration values
msgsize = Small;
遍歷集合
foreach ( String s in coll ) {
...
}
宣告和使用方法
// Declare a void return function
void voidfunction() {
...
}
// Declare a function that returns a value
String stringfunction() {
...
return (String) val;
}
// Declare a function that takes and returns values
String parmfunction(String a, String b) {
...
return (String) (a + b);
}
// Use the Functions
voidfunction();
String s1 = stringfunction();
String s2 = parmfunction("Hello", "World!");
定製屬性
// Stand-alone attribute
[STAThread]
// Attribute with parameters
[DllImport("ADV32.DLL")]
// Attribute with named parameters
[DllImport("KERNEL32.DLL", CharSet=CharSet.Auto)]
陣列
String[] a = new String[3];
a[0] = "1";
a[1] = "2";
a[2] = "3";
String[][] a = new String[3][3];
a[0][0] = "1";
a[1][0] = "2";
a[2][0] = "3";
初始化
String s = "Hello World";
int i = 1;
double[] a = { 3.00, 4.00, 5.00 };
If 語句
if (Request.QueryString != null) {
...
}
Case 語句
switch (FirstName) {
case "John" :
...
break;
case "Paul" :
...
break;
case "Ringo" :
...
break;
default:
...
break;
}
For 迴圈
for (int i=0; i<3; i++)
a(i) = "test";
While 迴圈
int i = 0;
while (i<3) {
Console.WriteLine(i.ToString());
i += 1;
}
異常處理
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
String s1;
String s2 = "hello";
s2 += " world";
s1 = s2 + " !!!";
// Using StringBuilder class for performance
StringBuilder s3 = new StringBuilder();
s3.Append("hello");
s3.Append(" world");
s3.Append(" !!!");
事件處理委派
void MyButton_Click(Object sender,
EventArgs E) {
...
}
宣告事件
// Create a public event
public event EventHandler MyEvent;
// Create a method for firing the event
protected void OnMyEvent(EventArgs e) {
MyEvent(this, e);
}
向事件增加或移除事件處理
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; }
public void Add(int x) { this.x += x; }
override public int GetNum() { return x; }
}
}
// csc /out:librarycs.dll /t:library
// library.cs
實現介面
public class MyClass : IEnumerable {
...
IEnumerator IEnumerable.GetEnumerator() {
...
}
}
帶有Main方法的類定義
using System;
public class ConsoleCS {
public ConsoleCS() {
Console.WriteLine("Object Created");
}
public static void Main (String[] args) {
Console.WriteLine("Hello World");
ConsoleCS ccs = new ConsoleCS();
}
}
// csc /out:consolecs.exe /t:exe console.cs
標準模板
using System;
public class Module {
public static void Main (String[] args) {
Console.WriteLine("Hello World");
}
}
// csc /out:consolecs.exe /t:exe console.cs
經過以上介紹以後,我們下面開始講ASP.NET Web Forms.......待續
1、介紹
歡迎光臨立即上手教程。
立即上手教程是由一系列例項和支援解說構成的,他的目的是為了讓開發者理解ASP.NET的語法、以及ASP.NET應用框架的強大功能。所有的例項設計的短小而容易理解,可以充分展示ASP.NET的相應功能。在學習完本教程以後,你應該熟悉以下內容:
·ASP.NET語法。當然,對於熟練的ASP開發者,有些ASP.NET語法元素會很熟悉,而有些卻是新框架所獨有的。本教程的例項覆蓋了所有語法元素的細節。
·ASP.NET結構和特性。本教程介紹ASP.NET的特性,這些特性可以讓開發者以前所未有的建立互動式的、世界級水平的應用程式。
·最佳實踐。本教程的例項示範了ASP.NET功能的最佳途徑,同時也避免了潛在的缺陷。
本教材的讀者水平要求:
如果你以前從來沒有過開發頁的,那麼本教材不適合你。你應該熟悉html和一般的web開發術語。你不需要有過asp的經驗,但是你應該熟悉互動式頁面的概念,包括表單,指令碼和資料訪問。
消化吸收本教材的例項
本教材是所展示內容的最佳實踐。每個例項建立在概念的辨析和前面例項的引申之上。該例項是一個從簡單到複雜,從單一技術到應用的完整的系列
2、什麼是ASP.NET
Asp.net是建立在通用語言執行時刻庫(CLR)上的應用程式框架。他用來在端構建功能強大的web應用程式。Asp.net提供了幾個超越以前web開發的優點:
·增強的。Asp.net是執行在伺服器端的編譯後的CLR程式碼,而不是像ASP那樣解釋。Asp.net利用提前繫結,即時編譯,本地和快取服務來提高效能。所有這一切,效能遠遠大於你以往寫的每一行程式碼。
·世界級水平的開發工具支援。在的整合開發環境()中,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執行時刻的任何子元件。執行自定義驗證或狀態服務變得前所未有的容易。
·性。內建的驗證和每一個應用程式的獨立配置,你可以認為你的應用程式是安全的。
接下來的asp.net教程勢力將向您展示這些概念的練習
3、語言支援(版本)
語言支援
的.net平臺現在提供內建的三種語言支援:C#, , 和 。本教材的練習和例項程式碼展示如何使用這三種語言建立.net應用程式。關於其他語言的更多得語法資訊,請參考.NET SDK文件。
下面提供的的程式碼段幫助你理解本教材中程式碼例項,以及這三種語言之間的差異。
變數宣告
int x;
String s;
String s1, s2;
o;
Object obj = new Object();
public String name;
語句
Response.Write("foo");
註釋
// 這是單行註釋
/*
這是
多
行
註釋*/
訪問屬性
String s = Request.QueryString["Name"];
String value = Request.["key"];
宣告索引屬性
// Default Indexed Property
public String this[String name] {
get {
return (String) lookuptable[name];
}
}
宣告簡單屬性
public String name {
get {
...
return ...;
}
set {
... = value;
}
}
宣告和使用列舉
// Declare the Enumeration
public enum MessageSize {
Small = 0,
Medium = 1,
Large = 2
}
// Create a Field or Property
public MessageSize msgsize;
// Assign to the property using the Enumeration values
msgsize = Small;
遍歷集合
foreach ( String s in coll ) {
...
}
宣告和使用方法
// Declare a void return function
void voidfunction() {
...
}
// Declare a function that returns a value
String stringfunction() {
...
return (String) val;
}
// Declare a function that takes and returns values
String parmfunction(String a, String b) {
...
return (String) (a + b);
}
// Use the Functions
voidfunction();
String s1 = stringfunction();
String s2 = parmfunction("Hello", "World!");
定製屬性
// Stand-alone attribute
[STAThread]
// Attribute with parameters
[DllImport("ADV32.DLL")]
// Attribute with named parameters
[DllImport("KERNEL32.DLL", CharSet=CharSet.Auto)]
陣列
String[] a = new String[3];
a[0] = "1";
a[1] = "2";
a[2] = "3";
String[][] a = new String[3][3];
a[0][0] = "1";
a[1][0] = "2";
a[2][0] = "3";
初始化
String s = "Hello World";
int i = 1;
double[] a = { 3.00, 4.00, 5.00 };
If 語句
if (Request.QueryString != null) {
...
}
Case 語句
switch (FirstName) {
case "John" :
...
break;
case "Paul" :
...
break;
case "Ringo" :
...
break;
default:
...
break;
}
For 迴圈
for (int i=0; i<3; i++)
a(i) = "test";
While 迴圈
int i = 0;
while (i<3) {
Console.WriteLine(i.ToString());
i += 1;
}
異常處理
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
String s1;
String s2 = "hello";
s2 += " world";
s1 = s2 + " !!!";
// Using StringBuilder class for performance
StringBuilder s3 = new StringBuilder();
s3.Append("hello");
s3.Append(" world");
s3.Append(" !!!");
事件處理委派
void MyButton_Click(Object sender,
EventArgs E) {
...
}
宣告事件
// Create a public event
public event EventHandler MyEvent;
// Create a method for firing the event
protected void OnMyEvent(EventArgs e) {
MyEvent(this, e);
}
向事件增加或移除事件處理
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; }
public void Add(int x) { this.x += x; }
override public int GetNum() { return x; }
}
}
// csc /out:librarycs.dll /t:library
// library.cs
實現介面
public class MyClass : IEnumerable {
...
IEnumerator IEnumerable.GetEnumerator() {
...
}
}
帶有Main方法的類定義
using System;
public class ConsoleCS {
public ConsoleCS() {
Console.WriteLine("Object Created");
}
public static void Main (String[] args) {
Console.WriteLine("Hello World");
ConsoleCS ccs = new ConsoleCS();
}
}
// csc /out:consolecs.exe /t:exe console.cs
標準模板
using System;
public class Module {
public static void Main (String[] args) {
Console.WriteLine("Hello World");
}
}
// csc /out:consolecs.exe /t:exe console.cs
經過以上介紹以後,我們下面開始講ASP.NET Web Forms.......待續
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-990182/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《ASP.NET AJAX 應用剖析立即上手》簡體版即將上市!ASP.NET
- 《ASP.NET AJAX 應用剖析立即上手》推薦序!ASP.NET
- Nowa極簡教程:立即上手webpack&react開發生態環境WebReact
- @ts-check 立即上手,JSDoc 新增型別JS型別
- 【同行說技術】不能不看的Java資源大全(中文版)Java
- [譯] 6 個繪圖練習,讓你立即上手!繪圖
- asp.net高階教程 (轉)ASP.NET
- RSS檔案輸出(ASP.NET C#版)ASP.NETC#
- [譯]RabbitMQ教程C#版 - 主題MQC#
- UIStackView上手教程UIView
- Mac HomeBrew上手教程Mac
- asp.net教程-C#中使用XML——編寫XMLASP.NETC#XML
- asp.net高階教程(續) (轉)ASP.NET
- 資訊科技快速上手教程
- DataSet匯出CSV格式(ASP.NET,C#) (轉)ASP.NETC#
- 怎樣不重啟設定字型邊緣平滑立即生效! 以下注冊表匯入後不能立即生效。。...
- [提問交流]修改過程式碼不能立即生效的問題
- 我為什麼不看好蘋果推出的遊戲訂閱服務?蘋果遊戲
- Arasan宣佈立即推出第二代MIPI D-PHY
- Emacs 教程中文版(轉)Mac
- React 教程:快速上手指南React
- ASP.NET中常用的三十三種程式碼(C#版)ASP.NETC#
- Asp.net C# 把 Datatable轉換成JSON 字串ASP.NETC#JSON字串
- 大陸集團推出全新電子制動方案,全力保障高度自動駕駛安全自動駕駛
- 曬書 - 《C# 圖解教程(第四版)》C#圖解
- 5分鐘上手cml視訊教程
- Caffe 深度學習框架上手教程深度學習框架
- samrty學習快速上手教程+例項
- C#簡明教程(五)-資料型別 (轉)資料型別
- Beginning ASP.NET in C#ASP.NETC#
- 用c#和jmail開發Asp.net的mail傳送 (轉)C#AIASP.NET
- NeHe的opengl教程delphi版(9)----星星 (轉)
- showdoc 推出移動版 AppAPP
- 經典的導航二級式導航選單增強版,不看不知道!! (轉)
- 現代C++教程:高速上手(四)-容器C++
- Tinker 熱修復框架 簡單上手教程框架
- 類似 MSDN 導航樹效果 ASP.Net(C#) + JavaScript 實現! (轉)ASP.NETC#JavaScript
- 用ASP.NET/C#連線Access和SQL Server資料庫 (轉)ASP.NETC#SQLServer資料庫