Используйте данные в Repeater, когда флажок зарегистрируется asp.net

StackOverflow https://stackoverflow.com/questions/1585574

  •  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();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top