曾凡秩
摘 要:在應(yīng)用.net和c#進(jìn)行應(yīng)用系統(tǒng)開發(fā)時經(jīng)常會用到GridView和DataList等數(shù)據(jù)控件,而為了方便用戶操控,在這些數(shù)據(jù)控件中通常都會加入新的控件,或者把其中的一些信息顯示轉(zhuǎn)換為控件。本文就如何在這些數(shù)據(jù)控件中加入新控件或轉(zhuǎn)換為控件以及對這些加入的控件進(jìn)行操控進(jìn)行了探討?;纠砬辶丝丶械目丶膽?yīng)用問題。
關(guān)鍵詞:.net 數(shù)據(jù)控件 控件中的控件 模板
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-9082(2017)10-000-02
在應(yīng)用.net和c#進(jìn)行應(yīng)用系統(tǒng)開發(fā)時經(jīng)常會用到GridView和DataList等數(shù)據(jù)控件,而為了方便用戶操控,在這些數(shù)據(jù)控件中通常都會加入新的控件,或者把其中的一些信息顯示轉(zhuǎn)換為控件。對這些控件中的控件如何加入、如何引用、如何綁定事件以及與數(shù)據(jù)庫的關(guān)系等進(jìn)行探討和驗證。
一、在GridView數(shù)據(jù)控件中添加控件:
如下圖在該網(wǎng)頁實現(xiàn)在線試聽和下載音樂的功能,在GridView控件中加入了試聽和下載按鈕控件。
1.在.net 頁面中加入GridView數(shù)據(jù)控件,在該控件中按如下方式綁定字段。
2.在該控件中按如下方法添加試聽和下載按鈕控件。
3.如何給GridView控件中的試聽和下載按鈕綁定單擊事件和獲取相關(guān)的參數(shù)呢?
3.1這時,一定要先把試聽和下載按鈕控件字段轉(zhuǎn)換成模板(TemplateField)。
3.2在GridView控件中編輯模板。
3.3在模板中修改試聽和下載控件的屬性,進(jìn)行事件的綁定。
CommandArgument屬性主要是用來獲取和傳遞事件中要處理的參數(shù),這個參數(shù)一般是表中的主鍵。這時的主鍵是ID。
3.4在事件處理程序中獲取對應(yīng)的參數(shù)(一般是主鍵值)。
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
string connstr = ConfigurationManager.ConnectionStrings[“MusicDBConnectionString”].ToString();
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
string mId = ((ImageButton)sender).CommandArgument.ToString();
string sqlstr = “select * from T_MusicInfo where ID=” + mId;
}
這樣就實現(xiàn)了GridView控件中的控件進(jìn)行操控的目的。當(dāng)要對GridView控件中的其它字段進(jìn)行操控時,也要將對應(yīng)字段轉(zhuǎn)換成模板,然后再在模板中對屬性進(jìn)行修改。
二、在DataList數(shù)據(jù)控件中添加控件:
如下圖在該網(wǎng)頁實現(xiàn)在線考試的功能,在DataList控件中加入了RadioButtonList單選按鈕列表控件。
1.在.net 頁面中加入DataList數(shù)據(jù)控件,在該控件中按如下方式綁定字段。
2.在該控件中編輯模板,按如下方法添加RadioButtonList單選按鈕列表控件。
3.DataList控件中的Label和RadioButtonList控件如何獲取相關(guān)的參數(shù)呢?主要是用到FindControl方法獲取控件中的控件。具體實現(xiàn)如下:
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
Label lbl = (Label)e.Item.FindControl(“Label5”);
lbl.Text =” “+num;
RadioButtonList rbl = (RadioButtonList)e.Item.FindControl(“RadioButtonList1”);
DataRowView dl = (DataRowView)e.Item.DataItem;
rbl.Items[0].Text = “A.”+dl[“optionA”].ToString();
rbl.Items[1].Text = “B.” + dl[“optionB”].ToString();
rbl.Items[2].Text = “C.” + dl[“optionC”].ToString();
rbl.Items[3].Text = “D.” + dl[“optionD”].ToString();
num++;
}
三、總結(jié)
控件中添加控件是用.net和C#開發(fā)應(yīng)用系統(tǒng)中經(jīng)常要用到的,對于初次開發(fā)者而言,這是必須要經(jīng)過的一道坎。就本文而言,有助于初次開發(fā)者少走彎路,掌握控件中的控件的基本用法,從而為開發(fā)出一個實用的系統(tǒng)打下堅實的基礎(chǔ)。控件中的控件基本都是在模板中進(jìn)行參數(shù)的設(shè)定和事件的綁定,傳遞的參數(shù)主要是主鍵。獲取控件中的控件主要是用FindControl()方法。
參考文獻(xiàn)
[1]安德森ASP NET高級編程, 清華大學(xué)出版社, 2002
[2] ASP NET程序設(shè)計基礎(chǔ)與實訓(xùn)教程, 清華大學(xué)出版社,2013
[3]Daniel Cazzulino等C#Web應(yīng)用程序入門經(jīng)典,清華大學(xué)出版社,2003endprint