bernova Ответов: 1

Найдите элемент управления HTML во вложенной таблице


Всем привет
Я пишу код, который генерирует динамически таблицы в качестве выходных данных :

 <table id="edList" dir="rtl" cellspacing="0" cellpadding="0" width="100%" align="center">
<tr style="cursor:pointer;" class="TdBold">
<td onclick="FlipSec('edClg3')">Unit </td>
</tr>
<tr>
<td><table id="edClg3" runat="server">
<tr Ident="10" style="cursor:pointer;" width="100%" class="TdBold">
<td width="10px"><input name="_ctl6" type="checkbox" IDENT="10" ID="10" CType="0" runat="server" onclick="CClick(event)" /></td>
<td onclick="FlipSec('edClg10')"></td>
<td>College</td>
</tr>
<tr>
<td><table id="edClg10" runat="server" width="100%">
tr Ident="1002" style="cursor:pointer;" width="100%" class="TdBold">
<td width="10px"><input name="_ctl13" type="checkbox" IDENT="1002" ID="1002" CType="0" runat="server" onclick="CClick(event)" /></td>
td onclick="FlipSec('edClg1002')"> </td>
td>Department</td>
</tr>
</tr>
<tr>
<td></td>
<tr>
<td>
<table id="edClg4">
<tr>
<td>
<pre><td width="10px"><input name="_ctl13" type="checkbox" IDENT="1002" ID="1002" CType="0" runat="server" onclick="CClick(event)" /></td>
.
</table>
</table>

,....

как найти флажок во внутренних таблицах?

Что я уже пробовал:

for (int i = 0; i <List.Count; i++)
{
     Chk = (HtmlInputCheckBox)this.edList.FindControl(List[i].ToString());
     if (Chk != null)
         Chk.Checked = true;
}

Krunal Rohit

Если вы генерируете эти динамические таблицы, то генерируйте их с соответствующим идентификатором.
Таким образом, вы получите доступ к ним позже.

КР.

1 Ответов

Рейтинг:
1

Kornfeld Eliyahu Peter

Ваша сгенерированная разметка нарушает одно из правил HTML - ID должен быть уникальным...
Вы не говорите нам, что такое List[i], но если это идентификатор, то FindControl вернет null в случае дубликатов...
Это может помочь вам понять некоторые аспекты вложенных структур и FindControl: Понимание ASP.NET Шаблоны[^]