Asp.Net UserControl - доступ к дочернему элементу управления на родительской странице - PullRequest
1 голос
/ 03 ноября 2010

Если, например, мой userControl имеет CheckBox с именем IsGreatCoder и userControl встроен в главную страницу (родительскую страницу).

Я обычно получаю доступ к значению IsGreatCoder.Checked на главной странице, выставляя его через открытое свойство , которое мне нужно написать вручную (скажем, "IsAGreatCoder") .

Если UserControl включен на главной странице как " userControl1 ", тогда я получу доступ к нему как "userControl1.IsAGreatCoder".

Но мне было интересно, можно ли было объявить UserControl так, чтобы все добавленные в него элементы управления пользовательского интерфейса были объявлены как общедоступные, что позволило мне получить доступ к фактическим элементам управления на главной странице (родительской) .

По сути, я хотел бы иметь возможность сделать что-то вроде userControl1.IsGreatCoder.Checked вместо того, чтобы реализовывать свойство.

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

1 Ответ

2 голосов
/ 03 ноября 2010

Из-за этого это невозможно (установка частных обозначений объекта как общедоступных автоматически).

Чтобы сделать его немного проще, вы можете перейти в представление конструктора (при использовании проекта веб-приложения) иотредактируйте каждое объявление элемента управления так, чтобы оно было публичным, но оно будет перезаписываться всякий раз, когда вы вносите изменение в пользовательский интерфейс (в конце концов, оно создается автоматически), поэтому, вероятно, лучше всего просто:

public bool IsAGreatCoder
{
    get { return IsGreatCoder.Checked; }
}

Обратите внимание, что вам понадобитсячтобы отличить наименование вашего имущества от вашего контрольного имени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...