Как получить все значения в Datalist с помощью одной кнопки в asp.net/vb.net - PullRequest
0 голосов
/ 13 октября 2009

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

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

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

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

Маленький

Medium

Большой

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>

Ответы [ 2 ]

1 голос
/ 13 октября 2009

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

foreach(DataListItem item in YourDataList.Items){
    CheckBox chkSmall = (CheckBox)item.FindControl("chkSmall");
    chkSmall.Checked gives you the value
}
0 голосов
/ 13 октября 2009

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

...