ссылка на пользовательский элемент управления из другого пользовательского элемента управления

#asp.net #vb.net #webusercontrol

#asp.net #vb.net #webusercontrol

Вопрос:

У меня есть главная страница для четырех пользовательских элементов управления. У меня есть полоса вкладок, которая позволяет мне переходить к каждому элементу управления с главной страницы. Я пытаюсь сослаться на событие одного пользовательского элемента управления в другом пользовательском элементе управления. Я хочу отключить кнопку на uc2 на основе нажатия кнопки на uc1.

Ответ №1:

Используйте Control.FindControl() метод, чтобы найти элемент управления и установить Control.Enabled свойство

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

1. Это не позволит мне просто ссылаться на элемент управления, как вы указали выше. Я могу написать этот код в файле master pages, но мне нужно ссылаться на эти элементы управления на моей странице пользовательского управления. когда я набираю элемент управления. —> Visual Stuido дает мне два варианта equals и reference equals. Это похоже на то, что на мой пользовательский элемент управления нет ссылки или на него нельзя ссылаться в другом пользовательском элементе управления

Ответ №2:

Я бы настроил это, установив свойства в usercontrols, которые будут переключать данные при создании экземпляра. Затем, когда вы нажимаете свою кнопку в одном пользовательском элементе управления, вы можете на обратной записи на главной странице установить свойство для одного и проверить это свойство на главной странице, а затем переключить свойство в другом элементе управления. Это должно позволить вам включить или отключить элемент управления или даже несколько элементов управления таким образом.

Вот ссылка на настройку и управление свойствами в usercontrol

http://www.dotnetfunda.com/articles/show/16/creatingsetting-properties-of-user-control-in-aspnet

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

1. Я хочу установить свойства пользовательского элемента управления из другого пользовательского элемента управления, а не на странице aspx.

2. @JacobDeskin да, но пользовательские элементы управления должны быть где-то размещены для использования. В данном случае на главную страницу, поэтому, если вы переключаете свойство в одном пользовательском элементе управления, а затем просматриваете это свойство в следующем пользовательском элементе управления, если (usercontrol1.property == true) usercontrol2.property == false;

Ответ №3:

Затемненная область как

 RadNumericTextBox = TryCast(Me.Parent.FindControl("tb_AreaSF"), RadNumericTextBox)