Possible d'ajouter dynamiquement un contrôle asp: CheckBox à une TableCell?

StackOverflow https://stackoverflow.com/questions/626410

  •  06-07-2019
  •  | 
  •  

Question

Dans mon application .NET, je dois ajouter une case à cocher à chaque ligne d'un asp: Table créé dynamiquement. Est-il possible de le faire en créant dynamiquement un asp: CheckBox pour chaque ligne et de le placer d'une manière ou d'une autre dans un objet TableCell? (Dans ce cas, comment?)

Ou dois-je remplacer le contrôle asp: table par quelque chose d'autre, comme un contrôle Repeater ou GridView, pour que cela fonctionne?

Je cherche la solution la plus rapide car je n'ai pas beaucoup de temps.

Merci d'avance!

/ Ylva

Était-ce utile?

La solution

Vous ne voulez pas le faire côté serveur (dans le cs comme le disait Yossarian). Parce que chaque fois que votre page est rechargée ou rafraîchie, vous devez recréer ces cases à cocher, ce qui signifie de nouvelles cases à cocher à chaque chargement, ce qui signifie également que vos informations de contrôle des cases à cocher seront perdues car elles ne sont pas côté client. fait par l’utilisateur (case à cocher cochée) sera perdu, vous voulez donc savoir ce qui est coché à moins d’ajouter jquery et que cela commence à devenir plus compliqué qu’il doit être

si vous utilisez des pages Web, il serait préférable d'utiliser le contrôle Web asp: Gridview et de lier les données à la table dans le code situé derrière ainsi:

  Gridview.Datasource=//ex:data; 

  Gridview.Databind();

Comme indiqué dans l'exemple de cette page, ici

.

mais si vous utilisez MVC, vous les ajouteriez dans le code client sous la forme suivante:

      <% 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>

Autres conseils

dans aspx:

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

dans cs:

TableCell tc;
foreach(TableRow tr in T1.Rows)
{
    tr.Cells.Add(tc = new TableCell());
    ((IParserAccessor)tc).AddParsedSubObject(new CheckBox());
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top