Я пытаюсь получить доступ к публичному классу в файле кода MasterPage с дочерней страницы, но не могу заставить его работать. Я попытался использовать тот же метод, что и доступ к общедоступному int, но дочерняя страница не распознает какие-либо элементы класса.asp.net - доступ к общедоступному классу на главной странице с дочерней страницы
MasterPage.cs
private int _Section;
public int Section
{
get{return _Section;}
set{_Section = value;}
}
public class HeaderPanel
{
private bool _Visible = true;
public bool Visible
{
get { return _Visible; }
set { _Visible = value; }
}
private string _Theme;
public string Theme
{
get { return _Theme; }
set { _Theme = value; }
}
public HeaderPanel(bool Visible, string Theme)
{
this.Visible = Visible;
this.Theme = Theme;
}
}
Default.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Master.Section = 1; // This works
Master.HeaderPanel.Visible = true; // This doesn't work
Master.HeaderPanel.Theme = "Dark"; // This doesn't work
}
Сообщение об ошибке я получаю:
'HeaderPanel': не может ссылаться на тип через выражение
Похоже, вы пытаетесь получить доступ к свойствам на 'HeaderPanel', как если бы они были' static'. Вы забыли сделать их «статическими»? Или забудьте сделать экземпляр класса в «MasterPage»? – David