Hi,
Upto my knowledge you can able to get values for child controls from inner data control.
On only If you create itemcommand event for that dynamic data control.
Here I write some code for get child control of inner data control values
Just check as it is
<form id="form1" runat="server">
<div>
<asp:datalist id="DataList1" runat="server" width="60%" repeatcolumns="3" repeatdirection="Horizontal" xmlns:asp="#unknown">
OnItemDataBound="DataList1_ItemDataBound">
<HeaderTemplate>
</HeaderTemplate>
<itemtemplate>
<table>
<tr>
<td>
Head Item
<asp:label id="Label1" runat="server" text="<%#Container.DataItem %>">
</td>
</tr>
<tr>
<td>
<asp:datalist id="DataList2" runat="server" onitemcommand="DataList1_ItemCommand">
<HeaderTemplate>
<table>
</HeaderTemplate>
<itemtemplate>
<tr>
<td>
<asp:textbox id="TextBox1" runat="server">
</td>
<td>
<asp:linkbutton id="LinkButton1" runat="server" commandname="sd" commandargument="4">
<asp:label id="Label2" runat="server" text="<%#Container.DataItem %>">
</td>
</tr>
</itemtemplate>
<footertemplate>
</footertemplate></table>
</td>
</tr>
</table>
</itemtemplate>
<footertemplate>
</footertemplate>
</div>
</form>
And the code behind file contains
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<int> str = new List<int>();
str.Add(1);
str.Add(2);
str.Add(3);
str.Add(4);
str.Add(5);
str.Add(6);
DataList1.DataSource = str;
DataList1.DataBind();
}
}
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataList dtlst = (DataList)e.Item.FindControl("DataList2");
Label lblid = (Label )e.Item.FindControl("Label1");
List<int> str = new List<int>();
str.Add(1);
str.Add(2);
str.Add(3);
str.Add(4);
str.Add(5);
str.Add(6);
dtlst.DataSource = str;
dtlst.DataBind();
}
}
protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
int cnt=e.Item.Controls.Count;
TextBox cltr = (TextBox)e.Item.FindControl("TextBox1");
string uname = cltr.Text;
}
</int></int></int></int>
I hope you'll Understand What I did.
finally what I'm saying is If you able to create itemcommand event then your problem is solved.
Here I used datalist control you can use gridview also
All the Best.