anurag1mgs Ответов: 3

C# найти элементы управления внутри элементов управления


У меня есть gridveiw, в котором есть panal внутри itemtemplate, и panal содержит другой серверный элемент управления.

я хочу использовать этот panle in и серверные элементы управления и изменять их текст и другие значения с помощью C#, но я не могу найти элементы управления в боковой панели.

Kenneth Haugland

Winforms или WPF?

3 Ответов

Рейтинг:
2

Er. Gayatri

Поскольку панель находится внутри шаблона элемента, она будет повторяться для каждой строки в представлении сетки.

Поэтому сначала вам нужно взять строку, в которой вы хотите изменить текст элемента управления.

например, GridViewRow gr = Gridview1.Rows[0];//взятие первой строки

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

Панель tempPanel = (панель)gr.FindControl("PanelID");

А затем вы можете найти текстовое поле внутри панели с помощью

TextBox txt = (текстовое поле)tempPanel.FindControl("TextBoxID");

Или вы можете найти это текстовое поле непосредственно внутри строки представления сетки (если идентификатор текстового поля уникален на странице) следующим образом:

TextBox txt = (текстовое поле)gr.FindControl("TextBoxID");


Теперь вы можете изменить текст элемента управления как : txt.Text = "Новое Значение";


Надеюсь, это вам поможет !!


Рейтинг:
0

Prasad_Kulkarni

Попробуй YourPanelName.FindControl()

Посмотрите на похожие темы:
Поиск всех элементов управления в ASP.NET панель[^]
Как найти элемент управления, который я поместил внутри панели?[^]

....и еще несколько нитей здесь[^]


Рейтинг:
0

JF2015

Для поиска элементов управления внутри панели вы можете использовать свойство "элементы управления". Смотрите этот код:

foreach(Control ctrl in panel1.Controls)
{
  ctrl.Text = "Hello";
}