上次回顧
前幾次教程我們學習了asp.net的一些基本控件
Button(按鈕)
Lable(標籤)
ImageButton(圖片按鈕)/Iamge(圖片)
TextBox(文本框)
在學習了這幾個控件之後基本上可以實現一些簡單的交互操作,但是要完成一個功能還需要為用戶顯示一些內容,比如說:一個圖書管理的功能,利用上面的控件我們可以實現了圖書信息錄入,但是用戶想要查看當前有哪些圖書這些控件就無法滿足了,今天我們就來介紹幾個這樣的數據控件。
新知識點——數據控件
GridView
Repeater
本次教程主要講述這兩個數據控件的數據綁定,一些具體的更復雜的操作留到後面的小項目中來講更便於大家的理解
GridView
<gridview>
和之前的控件一樣,都是以標籤的形式來寫的
後臺數據綁定
使用DataTable保存數據
DataTable dt = new DataTable();//新建一個DataTable對象
dt.Columns.Add("書名",typeof(string));//為添加一個列,列名為“書名”
dt.Columns.Add("作者", typeof(string));//為添加一個列,列名為“作者”
dt.Columns.Add("出版社", typeof(string));//為添加一個列,列名為“出版社”
dt.Rows.Add("asp.net快速入門", "騎著豬豬的codeMonkey","某家出版社");//添加一行數據
dt.Rows.Add("java快速入門", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
dt.Rows.Add("php快速入門", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
dt.Rows.Add("python快速入門", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
看到這大家也應該清楚DataTable這個類的對象實質上就是一張二維表,接下來要做的事情就是將這張表設置為GridView的數據源
2.設置數據源
table.DataSource = dt;
3.進行數據綁定
table.DataBind();
完成這三步之後就可以看到效果了
GridView顯示效果
Repeater
界面代碼
<repeater>
<itemtemplate>
Repeater會循環DataTable的每一行,並按照列明來獲取該行的內容並顯示出來,代碼量相對與GridView而言會多一些,但個人感覺而言,後期編寫一些較複雜的操作時Repeater的可編程性比GridView高一些,用著也會順手一點。
後臺數據綁定(方法與GridView基本相同)
使用DataTable保存數據
DataTable dt = new DataTable();//新建一個DataTable對象
dt.Columns.Add("書名",typeof(string));//為添加一個列,列名為“書名”
dt.Columns.Add("作者", typeof(string));//為添加一個列,列名為“作者”
dt.Columns.Add("出版社", typeof(string));//為添加一個列,列名為“出版社”
dt.Rows.Add("asp.net快速入門Repeater", "騎著豬豬的codeMonkey","某家出版社");//添加一行數據
dt.Rows.Add("java快速入門Repeater", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
dt.Rows.Add("php快速入門Repeater", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
dt.Rows.Add("python快速入門Repeater", "騎著豬豬的codeMonkey", "某家出版社");//添加一行數據
2.設置數據源
Repeater1.DataSource = dt;
3.進行數據綁定
Repeater1.DataBind();
完成這三步之後就可以看到效果了
Repeater1顯示效果
這裡的Repeater1並沒有顯示出表格的樣式是因為在界面中我們並沒有將它嵌套在table中
<table>
<thead>
書名
作者
出版社
/<thead>
<tbody>
<repeater>
<itemtemplate>
/<tbody>
/<table>
如果寫成這樣的話,界面會變成這樣
table樣式
這也就是為什麼所Repeater的可編程性比GridView高,因為Repeater可以用在各種標籤的代碼中,只是填充數據的作用。
總結一下
數據控件的基本使用分為3步:
填充數據
為控件設置數據源
綁定數據
下次內容
下次會結合這幾次的內容做一個稍微小型的項目便於大家理解,如果有需要的話,開發的全過程可以錄製視頻,源代碼也會在每一次教程結束之後開放給需要的人~~
當然,在開發的過程中會補充很多的東西,會分成多次教程給大家
項目暫定的是基於web的圖書管理系統,如果有更好的建議歡迎大家留言討論~~~謝謝大家