3

我在 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");
4

1 回答 1

5

您需要为每一行绑定下拉列表。尝试这样的事情

DropDownList ddlRoom = null;
foreach(var gridRow in gv.Rows)
{
    ddlRoom = gridRow.FindControl("ddlRoom") as DropDownList;
    if (ddlRoom != null)
    {
        //your code here
    }
} 
于 2012-06-08T19:24:45.437 回答