in ASP.Net datagrid I placed one dropdown and a textbox (multiline). I needs to read those values in a loop. I am getting the reference object of dropdown using findControl method but when I am trying for textbox its returns null.
Here is my aspx code
.....
<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>
...............
The C# code is
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;
}
I am getting the lst object correctly, but txt always returns null.
You have a typo:
Should be:
Therefore,
txtDetaillsshould betxtDetails