Как использовать элемент управления списком данных, чтобы найти его дочерний список данных в C #? - PullRequest
0 голосов
/ 04 декабря 2010

Более конкретно, используя приведенный ниже пример, как мне использовать список данных "DL_Pro_Result" для поиска дочернего списка данных "DL_Gro_Result" в C #?

Например, в следующем коде значение dlii равно нулю, хотяdli! = null.

DataList dli = (DataList)Page.FindControl("DL_Pro_Result");
DataList dlii = (DataList)dli.FindControl("DL_Gro_Result");

Спасибо.

<div id="ProList">
<asp:DataList ID="DL_Pro_Result" runat="server">
<HeaderTemplate>
<table id="T_Pro_Result_Header" runat="server">
<tr>
<td>
<asp:Label ID="L_Pro_Result_Header" runat="server"></asp:Label>
</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table id="T_Pro_Result_Item" class="table" runat="server">
<tr>
<td>
<asp:Label ID="L_Pro_Result_Item" runat="server"></asp:Label>
<asp:Button ID="B_Pro_Result_Item_1" OnClick="B_Pro_Result_Item_1_Click"/>
</td>
</tr>
<tr>
<td>
<asp:DataList ID="DL_Gro_Result" runat="server">

1 Ответ

0 голосов
/ 05 декабря 2010

Решение:

 DataList dli = (DataList)Page.FindControl("DL_Pro_Result");
 foreach (Control child in dli.Controls)
 {
  foreach (Control child1 in child.Controls)
  {
   try
   {
    if ((DataList)child1.FindControl("DL_Gro_Result") != null)
    {
     DataList dli = (DataList)child1.FindControl("DL_Gro_Result");
    }
   }
   catch (Exception e)
   {
    Trace.Warn("Exception!!", e.ToString() + "Trying next iteration");
   }
  }
 }
...