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

    線上課程教學,遠距教學 (Web Form 約 51hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

    線上課程教學,遠距教學 (ASP.NET MVC 約 135hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

     

    寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.tw  或  school (at) mis2000lab.net

     (1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A 

     (2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I 

    [學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm  。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b  


    ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。 

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

    .........  YouTube (ASP.NET) 線上教學影片  https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/

     

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

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

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

    ASP.NET MVC  => .NET Core MVC 線上教學  ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽

    [遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講   事先錄好的影片,並非上課側錄!   觀看時,有如「一對一」面對面講課