http://www.dotblogs.com.tw/mis2000lab/archive/2008/09/16/5387.aspx
如果要我举出一个特别的例子,跟大家说明 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新功能 )
(抱歉,此书截至2010年为止,只有在台湾出版)
02 '----自己写的----
03 ImportsSystem
04 ImportsSystem.Web.Configuration
05 ImportsSystem.Data
06 ImportsSystem.Data.SqlClient
07 '----自己写的---- VB语法
08
09 ProtectedSub 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 = newSqlConnection("数据库的连接字符串,ConnectionString");
12 Conn.Open();
13
14 SqlCommand cmd = new SqlCommand("selectid,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/ 2010的「操作」,更讲背后的运作原理。
- 知其然,也要知其所以然!
2008/10/15 本文是一整个系列的讨论,请看----
作者出版的书籍(ASP.NET专题实务 II -- 范例集与4.0新功能 )
(抱歉,此书截至2010年为止,只有在台湾出版)
DataBinding?资料系结?资料绑定? #1--DataSourceID与DataSource?
DataBinding?资料系结?资料绑定? #2--DataSet + 系结表达式
DataBinding?资料系结?资料绑定? #3--以DropDownList为例
DataBinding?资料系结?资料绑定? #4--系结表达式原来可以这样用?(DataSet / DataReader)
DataBinding?资料系结?资料绑定? #5--系结表达式 与 ListView的HyperLink(超级链接)
[习题]DataBinding?资料系结?资料绑定? #6 -- 伤脑筋的 GridView加总、小计
[习题]DataBinding?资料系结?资料绑定? #7 -- 伤脑筋的 GridView加总、小计(原来如此 / 范例下载)
=================================================================================
....................................................................................................寄信给我 mis2000lab (at)雅虎.com.台湾 ........
ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)
http://www.china-pub.com/46063
2009/5/15上市
市场价 :¥59.80 RMB(人民幣)
![ASP.NET案例精编--适用于VS2005/2008](http://images.china-pub.com/ebook45001-50000/46063/zcover.jpg)