DataBinding?資料繫結?資料綁定?

如果要我舉出一個特別的例子,跟大家說明 ASP.NET與ASP的差異在哪裡?
我一定會講「DataBinding」。

ASP.NET 2.0以後,因為 SqlDataSource這個精靈控制項太好用,
所以完成後,初學者還是不知道哪裡作了 DataBinding?

如果您學習ASP.NET,卻對 DataBinding的觀念毫無所悉,剛好可以趁此體會一下。



如果要我舉出一個特別的例子,跟大家說明 ASP.NET與ASP的差異在哪裡?

我一定會講「DataBinding」。

  • 正體中文稱為「資料繫結」,有點饒舌拗口。
  • 中國大陸稱為「資料綁定」,音義都類似。

 

以前的 ASP/PHP/JSP如果想把資料表的 id欄位 與 title欄位,透過 HTML表單的下拉式選單(<select>標籤)來呈現。

一定要寫一小段程式才行,而且要自己動手處理,把程式碼跟<Select>標籤混在一起,加上一個迴圈.....Bala Bala.....

 

煩死了!煩!      以前的ASP寫法,真是太超過~

 

而 ASP.NET就很簡單,幾個步驟就能完成。

ASP.NET 2.0以後,因為 SqlDataSource這個精靈控制項太好用,

所以完成後,初學者還是不知道哪裡作了 DataBinding?......很可惜啊!只會操作,卻不懂原理了!

 

相形之下,我就懷念起 ASP.NET 1.x版的時候,自己稍微寫點程式,但卻清楚一些細節的變化。

簡單地說,我們從資料庫取得(撈出)資料後,

     把這些資料(DataReader或DataSet都可以),跟一個特殊的控制項,作DataBinding。

     就能把這些撈出來的資料,透過這個控制項,呈現在畫面上

     不需要像以前的ASP程式,自己動手寫迴圈、寫程式安排畫面....等等瑣碎的細節

 

一句 控制項.DataBind() ,瞬間完成一切!     跟變魔術一樣,神奇!神奇!

    註解:這些能作 DataBinding的控制項,又稱為「資料繫結控制項」,例如:GridView、DropDownList等等。

 

 

 

關於 DataBinding,本站已經寫了許多相關文章 而且已經集結出書 --

 作者出版的書籍(ASP.NET專題實務 II   -- 範例集與4.0新功能

 

 

 

這些範例,都已經收錄在「書本  下集」

ASP.NET 4.0 專題實務(II) -- 範例應用與 4.0新功能(松崗出版)


這是市面上,少數以專文介紹 DataBinding與 DataBindExpression的書籍。

如果您連這個觀念都還不清楚,您的 ASP.NET只學了 1/3而已。

 

 

02 '----自己寫的----
03 Imports System
04 Imports System.Web.Configuration
05 Imports System.Data
06 Imports System.Data.SqlClient
07 '----自己寫的----  VB語法
08 
09 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
10         ‘-- 註解:SqlDataSource的設定畫面,幫我們處理掉下面這一大串程式碼。
11         Dim Conn As New SqlConnection("資料庫的連接字串,ConnectionString")
12         Conn.Open()   '---- 第一、連結資料庫
13 
14         Dim cmd As SqlCommand = New SqlCommand("select id,title from test", Conn)
15         Dim dr As SqlDataReader = cmd.ExecuteReader()   '---- 第二、執行SQL指令,取出資料
16 
17          ‘-- 註解:執行SQL指令之後,把資料庫撈出來的結果,交由ListBox控制項來呈現。
18             ListBox1.DataSource = dr
19             ListBox1.DataBind()   '---- 第三、資料繫結
20 
21         ‘-- 註解:注意!!這裡的 .DataSource與另外一個「DataSourceID」屬性完全不同。兩者也不可同時使用!本書後續會深入解說……
22 
23          cmd.Cancel()
24          dr.Close()
25          Conn.Close()   '---- 第四、關閉資料庫的連接與相關資源
26 End Sub

..........................................................................................................................................................................................

10         //註解:  C#語法
11         SqlConnection Conn = new SqlConnection("資料庫的連接字串,ConnectionString");
12         Conn.Open();  
13 
14         SqlCommand cmd = new SqlCommand("select id,title from test", Conn);
15         SqlDataReader dr = cmd.ExecuteReader();  
16 
17             ListBox1.DataSource = dr;
18             ListBox1.DataBind();
10 
20          cmd.Cancel();
21          dr.Close();
22          Conn.Close();

 

 如果您對於上面的「連結資料庫四大步驟」,還不清楚,

可以參考:初探ADO.NET #1,程式與資料庫互動的四大步驟

完整的章節說明,都在下面的PDF檔案,在此完全公開。

 

附檔是一個PDF檔案(3-8-1.rar是我書裡面的第三章,還沒有講太深。

先讓讀者瞭解一下 DataBinding(),尤其是最後面那段後置程式碼。

  • 請下載上面的檔案,解壓縮後可以閱讀、列印。
  • 要閱讀PDF檔,請到 www.adobe.com ,可以免費下載 PDF Reader軟體。
  •  
  • 如果您學習ASP.NET,卻對 DataBinding的觀念毫無所悉,剛好可以趁此體會一下。
  • 這也是我的新書,跟一般入門書不同的地方。我不只教VS 2008的「操作」,更講背後的運作原理。 
  • 知其然,也要知其所以然!

 

 

 2008/10/15  本文是一整個系列的討論,請看----

       作者出版的書籍(ASP.NET專題實務 II   -- 範例集與4.0新功能

 

 

 

 

  • DataBinding?資料繫結?資料綁定?
  •  

     

  • DataBinding?資料繫結?資料綁定? #1--DataSourceID與DataSource?
  •  

     

  • DataBinding?資料繫結?資料綁定? #2--DataSet + 繫結運算式
  •  

     

  • DataBinding?資料繫結?資料綁定? #3--以DropDownList為例
  •  

     

  • DataBinding?資料繫結?資料綁定? #4--繫結運算式原來可以這樣用?(DataSet / DataReader)
  •  

     

  • DataBinding?資料繫結?資料綁定? #5--繫結運算式 與 ListView的HyperLink(超連結)
  •  

     

  • [習題]DataBinding?資料繫結?資料綁定? #6 -- 傷腦筋的 GridView加總、小計
  •  

     

  • [習題]DataBinding?資料繫結?資料綁定? #7 -- 傷腦筋的 GridView加總、小計(原來如此 / 範例下載)

     =================================================================================

     

    2009/11/10補充:  本系列 DataBinding文章已經延伸許多範例與程式,並撰寫成書本裡面的一章,

          將會發表在這一本書裡面,請看:[預告]ASP.NET專題實務(下集)-- 範例集與.NET 4.0新功能

  •  

     

    2010/12/16補充: 完整 DataBinding全文下載(PDF檔案),寫得很棒。簡體中文版。

    Professional ASP.NET 4 in C# and VB   這裡有免費試讀的章節(Ch. 3 / 7 / 12) -- http://www.china-pub.com/computers/common/mianfeisd.asp?id=197027
     
     

    我將思想傳授他人, 他人之所得,亦無損於我之所有;

    猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

    寫信給我--  mis2000lab (at) yahoo.com.台灣  或是  school (at) mis2000lab.net

    ................   facebook社團   https://www.facebook.com/mis2000lab   ......................

    ................   Google+   https://plus.google.com/100202398389206570368/posts ........

    ................  YouTube (ASP.NET) 線上教學影片  http://goo.gl/rGLocQ

    *********************************************************************************************

    *** 第一天 的 ASP.NET MVC線上課程 免費看(5.5小時)*** 

    ************************************************************(歡迎索取,免費申請)*****

     

    ASP.NET遠距教學、線上課程(Web Form + MVC)第二門 課程「四折」-- 以MVC課程作為優惠。

    第一天完整課程,提供 "完整" 試聽。  如不滿意 全額退費!

     

     

    Blog文章 "附的範例" 無法下載,請看 這裡 ...... https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download

    請看我們的「售後服務」範圍(嚴格認定)

    ......................................................................................................................................................

    ...................................................................................................................................................... 

    [遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講

    事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

     

        MIS2000 Lab.  線上教學影片(YouTube) **免費觀賞**