У меня есть два файла .ascx, один загружается в заполнитель в другом элементе управления .ascx.
Итак, у меня есть:
ParentControl
-> ChildControl
Я хочу получить доступ к ParentControl из ChildControl для получения переменных данных.
Пока у меня есть:
ParentControl.ascx
public UserList GetFunction
{
get
{
return someVariable;
}
}
И в:
ChildControl.ascx
Protected void Page_Load(object sender, EventArgs e){
ParentControl page = new ParentControl;
string newVariable = page.GetFunction.someOtherVariable;
}
Где я ошибаюсь, когдаЯ возвращаю someVariable в родительском классе, он содержит то, что мне нужно, но когда я пытаюсь получить его на странице ChildControl. Функция GetFunction возвращает ноль.
Дайте мне знать, если вам нужна дополнительная информация.
ОБНОВЛЕНИЕ ОТВЕТА:
Я решил решить эту проблему, обойдя ее:
В родительском классе я вызываю функцию, определенную в дочернем классе, и анализирую значения Iнужно через.
ParentClass.ascx
protected void Page_Load
{
ControlIWantToGetInformationTo.SetInfo(info);
}
ChildClass.ascx
public void SetInfo(Info info)
{
string someString = info.TheVariableWithin;
}
Несколько пользователей упомянулииспользуя фрагмент кода,
this.parent;
, но так как я использую cms sitecore, this.parent возвращает нежелательное значение, поскольку страница не является физической после запуска sitecore.
Спасибо всемпомощь рад, что мне удалось справиться с проблемой:).