Use dados no repetidor quando a caixa de seleção estiver verificada em ASP.NET
-
22-09-2019 - |
Pergunta
Eu tenho um repetidor para mostrar meus dados. Este repetidor mostrando 2 campo que um de Feild é o controle da caixa de seleção e outro é uma obra.
Agora, como posso entender o texto da fatura quando a caixa de seleção é verificada?
Quero ver o texto da Lable em Erry Row que as caixas de seleção são verificações.
como eu faço?
Eu uso o linqtosql para obter e definir dados do banco de dados
Solução
Página...
<asp:CheckBox ID="chkBoxID" runat="server" OnCommand="doSomething_Checked" CommandArgument="<%# Some Binding Information%>"
CommandName="NameForArgument">
</asp:CheckBox>
Código por trá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...
}
}
Outras dicas
No postback, você precisa percorrer todas as fileiras do seu repetidor e pegar o controle da caixa de seleção. Em seguida, você pode acessar suas propriedades. Verificou e .Text. Se for. Verifiquei, adicione -o a uma lista ou matriz. Eu posso elaborar se necessário ..
<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>
E codifique por trás quando você atribui seus dados
rptX.DataSource = SomeIEnumerableFromLinq; // which has a bool field called IsChecked
rptX.DataBind();