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

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP.NET學習篇(4)——服務器端的控件
      ASP.NET在設計時和VB一樣,提供了種類豐富的控件。在這里主要介紹六種驗證控件,和DATAGRID控件,驗證控件用以實現對表單輸入的方便的驗證,DATAGRID用以從指定數據源綁定數據,加以顯示或者更

      一、開始

      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)編輯方式、拖放服務器控件、以及自動部署,僅僅是這一強大工具所提供的一少部分功能。

      ·強大而富有彈性。由于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

      分享:ASP.NET學習篇(3)——幾個簡單的ASP.ENT的例子
      一個WEBFORM——這里將介紹ASP.NET WEBFORM的基本概念,以及其中表單項的變化。 *一個數據庫的應用——如何利用CONFIG.WEB中設置的DNS連接數據庫,數據庫操作對象的一些

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關.Net教程