Как получить все значения в списке данных с помощью одной кнопки в asp.net/vb.net

У меня проблема с получением всех значений в списке данных

вот проблема:

У меня есть список данных, который динамически заполняется из таблицы в базе данных, страница aspx является страницей массового заказа, поэтому в списке данных много элементов, и я хочу, чтобы пользователь мог выбирать несколько заказов одновременно в режиме и выберите кнопку в , которая называется check out. Вопрос в том, как мне перебрать все флажки и текстовые поля и получить значение. любая идея, что кодирование может помочь, так как я еще не кодировал вообще.

вот моя страница 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"/>

Маленький

Средний

Большой

XLarge

2Xбольшой

3Xбольшой

4XLarge

5Xбольшой


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

person Developer    schedule 13.10.2009    source источник


Ответы (2)


Вы можете добиться этого, перебирая элементы списка данных в своем событии Click:

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

После обратной передачи выполните цикл по элементам списка данных и получите статус флажка с помощью FindControl. Возможно, вы захотите добавить что-то в элемент списка данных, чтобы идентифицировать фактическую сущность, соответствующую флажку.

person o.k.w    schedule 13.10.2009
comment
Да, используйте образец кода k0ni, чтобы найти флажок. Но вы можете не знать, какой объект соответствует флажку. Это то, над чем вам нужно работать. - person o.k.w; 13.10.2009