Используйте данные в Repeater, когда флажок зарегистрируется asp.net
-
22-09-2019 - |
Вопрос
У меня есть ретранслятор, чтобы показать мои данные. Этот ретранслятор, показывающий 2 поля, что одно из Feild управляет флажом, а другой - Lable.
Теперь, как я могу понять текст Lable, когда флажок проверен?
Я хочу увидеть текст Lable в evry Row, что флажки Checksd.
Как мне это сделать?
Я использую linqtosql для получения данных и устанавливать данные из базы данных
Решение
Страница...
<asp:CheckBox ID="chkBoxID" runat="server" OnCommand="doSomething_Checked" CommandArgument="<%# Some Binding Information%>"
CommandName="NameForArgument">
</asp:CheckBox>
Код позади ...
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...
}
}
Другие советы
В Seerback вам нужно пройти через каждый ряд вашего ретранслятора и взять управление флажком. Затем вы можете получить доступ к нему. Если он проверяется, добавьте его в список или массив. Я могу уточнить при необходимости ..
<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>
И код позади, когда вы назначаете свои данные
rptX.DataSource = SomeIEnumerableFromLinq; // which has a bool field called IsChecked
rptX.DataBind();
Не связан с StackOverflow