ASP.NET立即上手教程(1)

來源:互聯網
上載者:User

一、開始

1、介紹

歡迎光臨ASP.NET立即上手教程。

ASP.NET立即上手教程是由一系列執行個體和支援解說構成的,他的目的是為了讓開發人員快速理解ASP.NET的文法、架構以及ASP.NET網路應用程式架構的強大功能。所有的執行個體設計的短小而容易理解,可以充分展示ASP.NET的相應功能。在學習完本教程以後,你應該熟悉以下內容:

·ASP.NET文法。當然,對於熟練的ASP開發人員,有些ASP.NET文法元素會很熟悉,而有些卻是新架構所專屬的。本教程的執行個體覆蓋了所有文法元素的細節。

·ASP.NET結構和特性。本教程介紹ASP.NET的特性,這些特性可以讓開發人員以前所未有的效率建立互動、世界級水平的應用程式。

·最佳實務。本教程的執行個體示範了ASP.NET功能的最佳途徑,同時也避免了潛在的缺陷。

本教材的讀者對象水平要求:

如果你以前從來沒有過開發web頁的經驗,那麼本教材不適合你。你應該熟悉html和一般的web開發術語。你不需要有過asp的經驗,但是你應該熟悉互動式頁面的概念,包括表單,指令碼和資料訪問。

消化吸收本教材的執行個體

本教材是所展示內容的最佳實務。每個執行個體建立在概念的辨析和前面執行個體的引申之上。該執行個體是一個從簡單到複雜,從單一技術到應用的完整的系列

2、什麼是ASP.NET

Asp.net是建立在通用語言運行時刻庫(CLR)上的應用程式架構。他用來在伺服器端構建功能強大的web應用程式。Asp.net提供了幾個超越以前web開發模式的優點:

·增強效能。Asp.net是運行在伺服器端的編譯後的CLR代碼,而不是像ASP那樣解釋執行。Asp.net利用提前綁定,即時編譯,本地最佳化和快取服務來提高效能。所有這一切,效能遠遠大於你以往寫的每一行代碼。

·世界級水平的開發工具支援。在Visual Studio .net的整合式開發環境(IDE)中,Asp.net架構由豐富的工具箱和設計器組成。所見即所得 (WYSIWYG)的(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 {
  ...
  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("ADVAPI32.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



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.