I am trying to retrieve a label control's value from a nested asp.net datalist control but getting an error: "Object reference not set to an instance of an object at Response.Write(id.Text); line"
hmtl code
<asp:DataList ID="dlParent" runat="server" DataKeyField="RequestId" OnItemDataBound="DataList1_ItemDataBound">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("RequestId") %>'></asp:Label>
<asp:DataList ID="dlChild" runat="server">
<ItemTemplate>
<asp:Label ID="lblid" runat="server" Text='<%# Bind("workshopid") %>'></asp:Label></ItemTemplate>
</asp:DataList>
</ItemTemplate>
</asp:DataList>
code behind
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string key = dlParent.DataKeys[e.Item.ItemIndex].ToString();
DataList dlChild = (DataList)e.Item.FindControl("dlParent");
Label id = (Label)dlParent.FindControl("lblid");
Response.Write(id.Text);
}
}
What's wrong with the code?