本文我將為你演示如何訪問GridView中的特定控件。我們會看到怎樣去訪問TextBox控件,DropDownList控件以及ListBox控件。
添加控件到GridView:
你可以簡單地使用 <ItemTemplate>選項在GridView控件中增加不同的控件。
填充列表框和下拉框控件
第二步首要任務是填充列表框和下拉框控件,讓我們生成一個簡單的服務器端方法來填充列表框和下拉框控件。
C# Code:
// 此方法用於填充列表框和下拉框控件
public DataSet PopulateControls()
{
SqlConnection myConnection = new SqlConnection(GetConnectionString());
SqlDataAdapter ad = new SqlDataAdapter("SELECT [Name] FROM tblPerson", myConnection);
DataSet ds = new DataSet();
ad.Fill(ds, "tblPerson");
return ds;
}
現在我們要在HTML視圖中綁定這個方法,為DropDownList控件設置以下代碼,對ListBox控件你也重復同樣的方法。
<ItemTemplate>
<asp:DropDownList ID="DropDownList1" DataTextField="Name" DataValueField = "Name" DataSource= '<%# PopulateControls() %>' runat="server">
</asp:DropDownList>
</ItemTemplate>
你的DropDownList和 ListBox控件都已經填充了同樣的數據,現在讓我們瞧瞧如何訪問GridView中的控件。
訪問GridView中的特定控件。
我們將試圖輸出當按鈕點擊事件發生時在TextBox中輸入或在DropDownList和ListBox控件中選擇的值,來看看這是如何完成的。
C# Code:
protected void Button1_Click(object sender, EventArgs e)
{
// 重復訪問GridView中的每一行
foreach (GridViewRow row in GridView1.Rows)
{
// 從GridView中的TextBox控件得到文本
string textBoxText = ((TextBox)row.FindControl("TextBox1")).Text;
Response.Write(textBoxText);
// 從GridView中的DropDownLis控件得到選定值
string dropDownListText = ((DropDownList)row.FindControl("DropDownList1")).SelectedItem.Value;
Response.Write(dropDownListText);
// 從GridView中的ListBox控件選擇值
ListBox myListBox = (ListBox)row.FindControl("ListBox1");
foreach(ListItem selectedItem in myListBox.Items)
{
// 檢查ListBox中的項是否被選中
if (selectedItem.Selected)
{
// 輸出選擇項的值
Response.Write(selectedItem.Value);
}
}
}
以上代碼中我們做過的都是使用GridViewRow對象來循環訪問 GridView控件中的所有行,下一步我們將使用FindControl方法去尋找控件,並輸出控件的值。
我希望你喜歡這片文章,快樂地編碼!