我正在尝试使用findcontrol方法来动态填充下拉列表。我不断收到一个空引用,并尝试了几种不同的方式。这里是我试过的一些代码。从gridview投下拉列表
<ItemTemplate>
<asp:DropDownList runat="server"
ID="ddlCalculateGrid"
Style="border: none; border-width: 0px; width: 90%"
OnSelectedIndexChanged="ddlCalculateGrid_OnSelectedIndexChanged"
AutoPostBack="true">
</asp:DropDownList>
<asp:HiddenField runat="server"
ID="hdnCalculate"
Value='<%# Eval("Calculate") %>' />
</ItemTemplate>
这里是后端代码。
DropDownList tempddl;
tempddl = (DropDownList)grvbillDetail.FindControl("ddlCalculateGrid");
tempddl.DataSource = rcta.GetDataByTrueValue();
tempddl.DataBind();
你有任何其他控件的顶部的GridView。我的意思是这是一个嵌套的gridview? – Vinay
这个后端代码到底在哪里?在一些GridView事件处理程序?另请注意,GridView模板中定义的控件不直接属于gridview;它们属于'GridViewRow'。所以你可能想通过'grvbillDetail.Rows'循环,然后在每一行上尝试一个'FindControl()'。 –
你确认FindControl()返回了什么吗?什么是rcta,你确定它不是null? – cdkMoose