Можно ли динамически добавить элемент управления asp: CheckBox в TableCell? - PullRequest
1 голос
/ 09 марта 2009

В моем приложении .NET мне нужно добавить флажок для каждой строки в динамически создаваемой таблице asp: Table. Можно ли сделать это путем динамического создания asp: CheckBox для каждой строки и каким-то образом поместить его в объект TableCell? (В таком случае как?)

Или мне нужно заменить элемент управления asp: table чем-то другим, например, элементом управления Repeater или GridView, чтобы он работал?

Я ищу самое быстрое решение, потому что у меня мало времени.

Заранее спасибо!

/ Ильв

Ответы [ 2 ]

2 голосов
/ 09 марта 2009

в aspx:

<asp:Table id=T1 runat=server />

в CS:

TableCell tc;
foreach(TableRow tr in T1.Rows)
{
    tr.Cells.Add(tc = new TableCell());
    ((IParserAccessor)tc).AddParsedSubObject(new CheckBox());
}
0 голосов
/ 09 марта 2009

Вы не хотите делать это на стороне сервера (в CS, как сказал Йоссариан). потому что каждый раз, когда ваша страница перезагружается или обновляется, вам придется заново создавать эти флажки, что будет означать новые флажки при каждой загрузке, что также будет означать, что информация об элементах управления вашего флажка будет потеряна, поскольку они не на стороне клиента, поэтому вся обновленная информация выполненный пользователем (флажок отмечен) будет потерян, поэтому вы хотите иметь возможность выяснить, что проверено, если вы не добавите jquery и он не станет более сложным, чем должно быть

если вы используете веб-страницы, то было бы лучше использовать веб-элемент управления asp: Gridview и связать данные с таблицей в следующем коде:

  Gridview.Datasource=//ex:data; 

  Gridview.Databind();

Как показано в примере на этой странице здесь

но если вы используете MVC, вы бы добавили их в код клиента в виде:

      <% using (Html.BeginForm("Presentation", "Home")) %>
        <% { %>
  <table id="Table" class="color" width="100%" border="1"> 
<colgroup width="3%" ></colgroup>
<colgroup width="15%"></colgroup>
<colgroup width="20%"></colgroup>
<colgroup width="15%"></colgroup>
<colgroup width="47%"></colgroup>
<thead>
    <tr class="dxgvHeader_Glass"> 
         <th id="CheckBox" class="style1" ><input type="checkbox" class="selectall" id="selectall" name="CheckBox" /></th>

         <th id="DateTime"  runat="server"></th>  
         <th id="Description" runat="server"></th>
    </tr>
</thead> 
<tbody >
<%try
  { %>
   <% foreach (var SamAuditLog in ViewData.Model)
      { %>
        <tr>

            <td class="style1" align="center"><%=Html.CheckBox(""+data.ID) %></td>


             <td><%= data.DateTime%></td>
             <td><%= data.Description%></td>
        </tr>
    <% } %>      

 <%} %>

</tbody>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...