在ASP.Net datagrid我放置了一個下拉和一個文本框(多行)。我需要在循環中讀取這些值。我使用findControl方法獲取下拉參考對象,但是當我嘗試使用文本框時,它返回null。asp.net datagrid findcontrol返回null爲文本框
這裏是我的aspx代碼
.....
<asp:TemplateColumn>
<HeaderTemplate>
<asp:DropDownList
ID="HeaderDropDown" Runat="server"
AutoPostBack="True"
OnSelectedIndexChanged="DropDown_SelectedIndexChanged" />
</HeaderTemplate>
<ItemTemplate>
<asp:DropDownList
ID="ItemDropDown" Runat="server"/>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn >
<HeaderTemplate>
Details
</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="txtDetails" runat="server" TextMode="MultiLine"></asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
...............
的C#代碼是
for (int i = 1; i < DataGrid1.Items.Count; i++)
{
DropDownList lst = DataGrid1.Items[i].Cells[1].FindControl("ItemDropDown") as DropDownList;
String value = lst.SelectedValue;
String StaffId = DataGrid1.Items[i].Cells[0].Text;
TextBox txt= DataGrid1.Items[i].Cells[2].FindControl("txtDetaills") as TextBox;
}
我正確地得到LST對象,但TXT總是返回null。