найти соответствующий элемент управления в repeater control

#c# #.net #asp.net #repeater

#c# #.net #asp.net #repeater

Вопрос:

У меня есть Repeater элемент управления, который содержит CheckBox элемент управления с ярлыком в каждой строке. При выборе CheckBox . Я хочу получить текст Label для соответствующего CheckBox . Как его получить?

Комментарии:

1. Попробуйте получить доступ к родительскому элементу флажка (который должен быть repeater), а затем получите дочерний элемент, которому соответствует метка.

2. используйте javascript или jquery, напишите функцию для проверяемого события и получите значение из label

3. У вас около 30 вопросов, на которые нет принятых ответов!! попробуйте принять некоторые из них, начиная с этого 😀

Ответ №1:

Добавьте следующее в CheckBox.Checked обработчик событий:

 CheckBox checkBox = (CheckBox) sender;
Label label = (Label) checkBox.Parent.FindControl("LabelName");
String labelText = label.Text;
  

Ответ №2:

Вам нужно использовать ItemCommand событие Repeater следующим образом:

 protected void rep1_ItemCommand(object source, RepeaterCommandEventArgs e) 
    { 
        if (e.CommandName == "Command") 
        { 
            Label lbl = e.Item.FindControl("labelID") as Label; 
            lbl.Text //
            CheckBox chk= e.Item.FindControl("chkId") as CheckBox; 
            chk.Checked //
        } 

    } 
  

Вы можете получить лучшую идею из этой статьи:ASP.Net Событие OnItemCommand повторителя с использованием C #

Ответ №3:

событие rowcommand или событие rowdatabound, найдите значения 2 элементов управления из строки в этом событии и получите и используйте значения . для получения дополнительной информации http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

Комментарии:

1. в этом случае вы зарегистрируете функцию javascript для извлечения значения метки