Доступ к свойствам страницы из базового пользовательского элемента управления, который расширяется всеми пользовательскими элементами управления

#c# #asp.net

#c# #asp.net

Вопрос:

У меня есть страница с несколькими элементами управления веб-пользователя на ней

Страница выполняет следующее, она расширяет интерфейс Icode

  public partial class TestPage: System.Web.UI.Page, ICode
  

// здесь реализована реализация кода

 public string Code
        {
            get
            {
                return "sample code";
            }
        }
  

Один из элементов управления, как показано ниже

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

 sampleControl:BaseControl

// here I am able to access the page property's

            if (Page is ICode)
            {
                string test= ((ICode))Page).Code;
            }
  

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

 BaseControl: System.Web.UI.UserControl
{
   // how can i access those values here.
}
  

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

любая помощь будет оценена

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

1. Какое значение вы пытаетесь установить в базовом элементе управления? Я также не понимаю, что вы подразумеваете под «BaseControl выполняется перед страницей», это оба класса. Они не выполняются.

Ответ №1:

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