C# 从asp.net c中gridview的编辑项模板中的存储过程中查找下拉列表控件#

C# 从asp.net c中gridview的编辑项模板中的存储过程中查找下拉列表控件#,c#,asp.net,sql,findcontrol,edititemtemplate,C#,Asp.net,Sql,Findcontrol,Edititemtemplate,我试图在网格视图的EditItemTemplate上找到DropDownList控件,以便在绘制之前用查询结果填充它,但从未找到该控件 ddlParent == null 永远 我可能遗漏了一些非常明显的东西,但我尝试了8种不同的方法来让这个find控件工作,但无论我做什么,它都是空的 我已经包括了ASP和C#,sql应该不重要,因为我甚至连电话都打不到 ASP: 我知道这里少了一些东西,不管我怎么做,控制都找不到 不要执行FindControl,而是使用相关列的偏移量索引并获取第一个控件:

我试图在网格视图的EditItemTemplate上找到DropDownList控件,以便在绘制之前用查询结果填充它,但从未找到该控件

ddlParent == null
永远

我可能遗漏了一些非常明显的东西,但我尝试了8种不同的方法来让这个find控件工作,但无论我做什么,它都是空的

我已经包括了ASP和C#,sql应该不重要,因为我甚至连电话都打不到

ASP:


我知道这里少了一些东西,不管我怎么做,控制都找不到

不要执行FindControl,而是使用相关列的偏移量索引并获取第一个控件:

(DropDownList)gvLocationArea.Rows[gvLocationArea.EditIndex].Cells[INDEX OF THE DDL].Controls[0]

感谢您的回复,但是仍然找不到控件,每次都会出现null…@AdamGarner Try.Controls[1]。如果这不起作用,那么在回发期间创建网格的DDL网格是否会创建以便控件存在于控件结构中?啊,这是否意味着如果DDL位于编辑项模板中,则它在数据绑定事件之后才存在?如果是这样,是否有可能在c#?@AdamGarner中找到该控件?如果可以访问它,只需重新绑定数据网格,然后检查编辑项索引,然后调用代码。页面的加载代码是什么样子的?是的,就是这样!我只需要在寻找控件之前打开数据绑定!干杯
protected void gvLocationArea_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (gvLocationArea.EditIndex == e.Row.RowIndex)
        {
            DropDownList ddlParent = (DropDownList)gvLocationArea.Rows[gvLocationArea.EditIndex].FindControl("ddlParent");
            if (ddlParent != null)
            {
                using (SalesSQLEntities db = new SalesSQLEntities())
                {
                    ddlParent.DataSource = db.GetRecursiveAreaList(Convert.ToInt32(((TextBox)gvLocationArea.Rows[gvLocationArea.EditIndex].FindControl("txtLocationAreaID")).Text), true);
                    ddlParent.DataBind();
                    ddlParent.Items.Add(new ListItem("* None", ""));
                }
            }
        }
    }
(DropDownList)gvLocationArea.Rows[gvLocationArea.EditIndex].Cells[INDEX OF THE DDL].Controls[0]