Question

Je vais avoir de problème pour obtenir toutes les valeurs dans datalist

Voici le problème:

Je datalist qui est dynamiquement à partir de la table dans la base de données, la page ASPX est la page de commande en vrac donc il y a beaucoup d'articles dans datalist et je veux que l'utilisateur de pouvoir selct plusieurs commandes à la fois Mode et sélectionnez un buuton qui est appelé départ, la question est de savoir comment faire boucle je throuhg toutes les cases à cocher et zones de texte et obtenir la valeur. toute idée d'un codage contribuerait termendously comme je ne l'ai pas encore du tout coder.

Voici ma page ASPX:

 <asp:DataList ID="DataList1" runat="server" BackColor="White" BorderColor="#CCCCCC" 
        BorderStyle="None" BorderWidth="1px" CellPadding="3" DataKeyField="Id" 
        DataSourceID="SqlDataSource1" GridLines="Both">
    <FooterStyle BackColor="White" ForeColor="#000066" />
    <ItemStyle ForeColor="#000066" />
    <SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
    <FooterTemplate>
        <asp:Button ID="btnNext" runat="server" Text="CheckOut" 
            onclick="btnNext_Click" />
    </FooterTemplate>
    <ItemTemplate>
        <asp:Label ID="TitleLabel" runat="server" Text='<%# Eval("Title") %>' />
        <br />
        <asp:Image ID="Image1" ImageUrl='<%# Eval("PictureUrlMedium") %>' runat="server" />

        <br />
         <asp:Label ID="DescriptionLabel" runat="server" 
            Text='<%# Eval("Description") %>' />
        <br />
        <br />
        <asp:Table ID="Table1" runat="server">
        <asp:TableRow>
        <asp:TableCell><asp:CheckBox ID="chkSmall" runat="server" Enabled="true" Width="20px"/>

Petit
                

                               moyen
                               

                           grand
                               

                          XLarge                 

                                                     2XLARGE                 

                          3XLARGE                 

                                        4XLARGE                 

                             5XLarge                 


                         

    </ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
  ConnectionString="<%$ ConnectionStrings:LocalSqlServer %>"  

    SelectCommand="SELECT [Id], [Title], [Description], [Price], [CategoryId], [PictureUrlSmall], [PictureUrlMedium], [PictureUrlLarge], [Deleted] FROM [Product]"></asp:SqlDataSource>
Était-ce utile?

La solution

Vous pouvez y parvenir en boucle à travers les articles datalist dans votre événement Click:

foreach(DataListItem item in YourDataList.Items){
    CheckBox chkSmall = (CheckBox)item.FindControl("chkSmall");
    chkSmall.Checked gives you the value
}

Autres conseils

Sur postback, boucle à travers les éléments de la datalist et obtenir le statut de case à cocher en utilisant FindControl. Vous voudrez peut-être ajouter quelque chose dans l'élément datalist pour identifier l'entité réelle correspondant à la case à cocher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top