Use datos en el repetidor cuando la casilla de verificación se verifica en ASP.NET
-
22-09-2019 - |
Pregunta
Tengo un repetidor para mostrar mis datos. Este repetidor que muestra 2 campo que uno de Feild es el control de la casilla de verificación y otro es un Lable.
Ahora, ¿cómo puedo entender el texto de Lable cuando se verifica la casilla de verificación?
Quiero ver el texto de Lable en Evry Row que las casillas de verificación son CheckSD.
¿como lo hago?
Utilizo Linqtosql para obtener y establecer datos de la base de datos
Solución
Página...
<asp:CheckBox ID="chkBoxID" runat="server" OnCommand="doSomething_Checked" CommandArgument="<%# Some Binding Information%>"
CommandName="NameForArgument">
</asp:CheckBox>
Código detrás...
protected void doSomething_Checked(object sender, CommandEventArgs e) {
CheckBox ctrl = (CheckBox)sender;
RepeaterItem rpItem = ctrl.NamingContainer as RepeaterItem;
if (rpItem != null) {
CheckBox chkBox = (LinkButton)rpItem.FindControl("chkBoxID");
chkBox.DoSomethingHere...
}
}
Otros consejos
En la posterior, debe recorrer cada fila de su repetidor y tomar el control de la casilla de verificación. Luego puede acceder a sus propiedades. CHECKED y .TEXT. Si se verifica, agréguelo a una lista o una matriz. Puedo elaborar si es necesario.
<asp:Repeater ID="rptX" runat="server">
<ItemTemplate>
<asp:Label ID="lblX" runat="server" Visible='<%# Eval("IsChecked") %>' />
<asp:CheckBox ID="chkX" runat="server" Checked='<%# Eval("IsChecked") %>' />
</ItemTemplate>
</asp:Repeater>
Y código detrás cuando asigne sus datos
rptX.DataSource = SomeIEnumerableFromLinq; // which has a bool field called IsChecked
rptX.DataBind();