Хотите пройти через все пользовательские элементы управления, которые существуют на странице и получить их идентификаторы. Как мне это сделать?Прокрутите все пользовательские элементы управления на странице
ответ
Чтобы получить каждый пользовательский элемент управления, вы должны проверить Тип управления:
EDIT: Я изменил мой пример, чтобы пройти через все элементы управления рекурсивно:
метод
public void GetUserControls(ControlCollection controls)
{
foreach (Control ctl in controls)
{
if (ctl is UserControl)
{
// Do whatever.
}
if (ctl.Controls.Count > 0)
GetUserControls(ctl.Controls);
}
}
Вызывается
GetUserControls(Page.Controls);
Nah. Это не работает –
Что не работает? – CAbbott
if (curControl - UserControl) никогда не будет истинным. И у меня есть usercontrol на странице –
foreach(Control control: Page.Controls)
{
//do something with control object
}
Но тогда он проходит через все элементы управления. Как можно дифференцировать пользовательский контроль. GetType() ?? –
Элементы управления могут быть вложенными, поэтому вам нужна рекурсивная функция для циклического переключения всех элементов управления. –
Это должно работать:
var listOfUserControls = GetUserControls(Page);
...
public List<UserControl> GetUserControls(Control ctrl)
{
var uCtrls = new List<UserControl>();
foreach (Control child in ctrl.Controls) {
if (child is UserControl) uCtrls.Add((UserControl)child);
uCtrls.AddRange(GetUserControls(child);
}
return uCtrls;
}
Я создал метод расширения, чтобы сделать это, который работает очень хорошо с LINQ.
<Extension()>
Public Function DecendentControls(ParentControl As Control) As Control()
Dim controls As New List(Of Control)
For Each myControl As Control In ParentControl.Controls
controls.Add(myControl)
controls.AddRange(myControl.DecendentControls)
Next
Return controls.ToArray
End Function
Затем с помощью LINQ вы можете сделать что-то вроде этого, чтобы установить все флажки на странице, чтобы остановить:
For Each myControl As CheckBox In pnlMain.DecendentControls.Where(Function(x) TypeOf x Is CheckBox)
myControl.Checked = False
Next
- 1. Прокрутите все элементы управления на веб-странице asp.net
- 2. Пользовательские элементы управления, указанные на базовой странице
- 3. Какао: Прокрутите все элементы управления в окне?
- 4. Отключить все элементы управления Validator на странице
- 5. Devexpress Найти все элементы управления на странице
- 6. RadAjaxManager Telerik: все пользовательские элементы управления обновлены
- 7. Кнопка выхода перезагружает все пользовательские элементы управления
- 8. HTML5 пользовательские элементы управления для любого количества видео на странице
- 9. Локализованные пользовательские элементы управления
- 10. Каков наилучший способ сохранить динамические пользовательские элементы управления на странице?
- 11. Пользовательские пользовательские элементы управления WPF
- 12. Динамические пользовательские элементы управления ASP.NET
- 13. InstantiateIn и пользовательские элементы управления
- 14. Платформенные пользовательские элементы управления
- 15. Пользовательские элементы управления, winapi
- 16. Пользовательские элементы управления Android
- 17. Пользовательские элементы управления WPF
- 18. Пользовательские элементы управления Gridview
- 19. Прокрутите все несвязанные элементы управления по форме и очистите данные
- 20. Композитор и пользовательские элементы управления
- 21. Элементы управления подсчетами на странице
- 22. Пользовательские окрашенные элементы управления
- 23. Пользовательские элементы управления
- 24. Элементы управления пользователя в Windows Forms - Все, что похоже на пользовательские элементы управления ASP.NET?
- 25. JQuery и пользовательские элементы управления
- 26. Пользовательские элементы управления HDPI невидимы
- 27. Отключить все элементы управления формой на веб-странице
- 28. отключить все элементы управления на странице с помощью jquery
- 29. ASP.NET найти все элементы управления на странице и скрыть их
- 30. Очистить все элементы управления на странице ASP.NET с главной страницей
Является ли это WinForms, WPF или ASP.NET? Я подозреваю последнего, но ты никогда не знаешь. – ChrisF
Под «пользовательскими элементами управления» вы подразумеваете * управляемые элементы управления * или, в частности, пользовательские элементы управления (.ascx)? – CAbbott
@ChrisF: Вы догадались это правильно! ASP.Net это @CAbbott: .ascx –