¿Cómo consigo todo valor en Datalist que con un botón en asp.net/vb.net
-
21-09-2019 - |
Pregunta
Estoy teniendo problemas para conseguir todos los valores en la lista de datos
aquí está el problema:
Tengo lista de datos que está poblada de forma dinámica a partir de la tabla en la base de datos, la página aspx es la página de la orden a granel por lo que hay muchos artículos en la lista de datos y quiero que el usuario sea capaz de seleccionar destino varios pedidos a la vez en modo y seleccione un buuton en que se llama registro de salida, la pregunta es ¿cómo puedo bucle throuhg todas las casillas de verificación y cuadros de texto y obtener el valor. alguna idea de una codificación ayudaría termendously ya que no lo ha codificado todavía en absoluto.
aquí está mi página 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"/>
Pequeño
medio
gran
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>
Solución
Esto se puede conseguir haciendo un bucle a través de los DataList Los productos en su evento Click:
foreach(DataListItem item in YourDataList.Items){
CheckBox chkSmall = (CheckBox)item.FindControl("chkSmall");
chkSmall.Checked gives you the value
}
Otros consejos
A la devolución de datos, recorrer los elementos de la lista de datos y obtener el estado casilla de verificación usando FindControl. Es posible que desee agregar algo en el elemento de lista de datos para identificar la entidad real que corresponde a la casilla de verificación.