網域查詢: www.
返回首頁

親密接觸ASP.Net(5)

時間:2010-02-17 02:36來源: 作者: 點擊:
現在是已經是凌晨2點了,沒有辦法,現在只有這個時間才可能有多余的時間來寫這些文章,希望我的這一系列文章能夠幫助更多的人.我們這一節主要是要講DataBind,這個在ASP.net中是很重
  

現在是已經是凌晨2點了,沒有辦法,現在只有這個時間才可能有多余的時間來寫這些文章,希望我的這一系列文章能夠幫助更多的人.我們這一節主要是要講DataBind,這個在ASP.net中是很重要的東東,幾乎所有的控件都需要它來控制數據的操作。也可以說是ASP.net的數據核心。

我們先來看一個簡單的例子︰

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>








最後的顯示為:

我們在代碼中可以看到我們建立了一個DropDownList,但是他沒有屬性,而我們從最後的顯示中依然可以看到我們所列出的選項。

這里就是我們用DataBind的結果,在Page_Load方法中我們建立了一個數組(ArrayList),並通過DataBind方法將這個數組捆綁到了DropDownList控件中,使得DropDownList最後有數據顯示︰),怎麼樣對Bind有一定感性認識了吧。下面我們開始正式講解

其實DataBind(),不僅能對控件進行捆綁,而且還能夠對頁面中屬性,方法進行捆綁,甚至整個頁面都可以捆綁。比如,調用Page.DataBind()方法或者直接使用DataBind(),那麼整個頁面都將被捆綁,所有的數據全在監視之下。下面的例子,我們將使用DataBind方法來捆綁DropDownList,並獲得其中的數據

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>








ASP技術
ASP.Net技術
JSP技術
PHP技術
組件技術



你現在選擇的是:<%# DDL.SelectedItem.Text %>





執行後,我們選擇JSP技術我們點擊"提交"按鈕,看到情況是:


你現在選擇的是:JSP技術


我們看到,那個紅色的[JSP技術],我們並沒有使用什麼控件,但是他卻能正確的顯示我們的選擇結果,這個是就捆綁的結果,注意<%# DDL.SelectedItem.Text %>這句話,正是它讓我們取得了捆綁的數據。它看上去是不是像我們熟悉的<%=...%>這個語句,它們的使用方法相差不多,只是<%=...%>是在程序執行時調用,<%#... %>是在DataBind()方法之後被調用。以後我們還能經常看到他的身影,呵呵。

接收Bind的控件,一般有DropDownList,DataList,DataGrid,ListBox這些集合性質的控件,而被捆綁的主要是ArrayList(數組),Hashtable(哈稀表),DataView(數據視圖),DataReader這四個,以後我們就可以對號入座,不會出現DataTable被捆綁的錯誤了︰)

講到Bind,就不能說一下DataBinder.Eval()方法.

我們在使用DataBind,獲得的數據,系統會將其默認為String(字符串),這對我們平時的輸出顯示提供了極大的方便,但是我們並不是每次都需要string類型,有時我們就需要Boolean,Int32這些類型。此時我們就需要轉化類型了。可能大家最先想到的是String.Format方法,這是最好的,但是用法過于煩。所以最好不要這樣啦。我們可以用DataBinder.Eval()方法,他的格式是:

DataBinder.Eval(Container.DataItem,"轉換的類型","格式")

最後一個"格式"是可選的,一般不用去管他,Container.DataItem是捆綁的數據項,"轉換類型"指的是Integer,String,Boolean這一類東西.

有了它,我們處理數據就更加方便

最後我們來看一個例子,關于DataView的捆綁,呵呵,老是用DropDownList煩了,這次用DataGrid,在這個例子中我們可以看到"表是怎樣煉成的"

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>







我們見到的情況是:

編號 用戶名
1 aspcn1
2 aspcn2
3 aspcn3
4 aspcn4
5 aspcn5
6 aspcn6
7 aspcn7

關于這個程序我就不多說了,程序中有說明,只是要注意我們這里bind的是DataView,不是DataTable,這是一個常犯的錯誤︰)

到這里我們的基礎講完了,大家要多多去熟悉一下Web控件,不然以後不知所雲的︰)

後面,我們將花幾個節來談一下,數據庫的調用.


頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容