如何在没有 RowDataBound 的 GridView ItemTemplate 中查找 DropDownList
本文关键字:ItemTemplate GridView 查找 DropDownList RowDataBound | 更新日期: 2023-09-27 18:36:33
我在 GridView 外面有一个 DropDownList
,我在 GridView 的 ItemTemplate 中有一个 DropDownList。 外部的 DropDownList 具有SelectedIndex_Changed事件,当该事件触发时,它应填充 GridView 内的 DropDownList。 问题是,在我用来填充内部 DropDownList 的方法中,它找不到控件: 下面是更改外部 DropDownList 时调用的示例代码:
//Does not find ddlRoom
DropDownList ddlRoom = (DropDownList)gv.TemplateControl.FindControl("ddlRoom");
if (rows.Count() > 0)
{
var rooms = rows.CopyToDataTable();
ddlRoom.Items.Clear();
ddlRoom.Items.Add(new ListItem("Select...", "-1"));
ddlRoom.DataSource = rooms;
ddlRoom.DataBind();
}
我也尝试过:
DropDownList ddlRoom = (DropDownList)gv.FindControl("ddlRoom");
您需要绑定每一行的下拉列表。尝试这样的事情
DropDownList ddlRoom = null;
foreach(var gridRow in gv.Rows)
{
ddlRoom = gridRow.FindControl("ddlRoom") as DropDownList;
if (ddlRoom != null)
{
//your code here
}
}