2013-09-19 3 views
0

Мне нужно получить доступ к объекту, созданному в кодовом коде моей главной страницы. У меня есть одна главная страница и дюжина дочерних страниц, а дочерние страницы должны получить доступ к этому объекту. Master страница отделенного кода выглядит следующим образом:Объект главной страницы доступа на дочерних страницах

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (Session["Manager"] == null) Response.Redirect("/Login"); 
     Manager Mng = (Manager)Session["Manager"]; 
    } 

На моей странице ребенка я хочу быть в состоянии сделать это:

int _ID = Mng.ID 

Но «Mng» не существует в этом контексте. Пожалуйста, порекомендуйте. Благодарю.

+0

Вы пытаетесь поместить код-код главной страницы в каталог App_Code? – Pascalz

+0

Отметьте здесь: http://stackoverflow.com/questions/18723885/having-some-trouble-referencing-a-literal-in-a-user-control-that-is-included-in/18724359#18724359 –

+0

Он обращается к элементам управления пользователя, а не к коду ... – Zerkey

ответ

1

Вы бы добавить общественную собственность на мастера, как:

public Manager Mng { get; set; } 

Установите это свойство со значением менеджера. На любой странице или пользовательском контроле вы можете:

((SiteMaster)this.Page.Master).Mng 

Чтобы получить справочную информацию. Обратите внимание, вы должны бросить Sitemaster или создать интерфейс, как:

public interface IMaster 
{ 
    Manager Mng { get; } 
} 

Попросите главной страницы реализовать этот интерфейс, и бросил мастер набрать IMaster как:

((IMaster)this.Page.Master).Mng 
+0

Вы имели меня в первой строке - Mng не был общедоступным, потому что он был недействителен в этом контексте (потому что он был внутри метода). Перемещали все мои проблемы! Я могу получить к нему доступ через явное литье. Благодаря! – Zerkey

0

Zerkey,

Когда вы используете директиву @MasterType, , вы можете ссылаться на элементы на главной странице, как показано в следующем примере (VB.Net):

CompanyName.Text = Master.CompanyName

Главное свойство страницы уже набрано на MasterPage_master.

посмотреть http://msdn.microsoft.com/en-us/library/c8y19k6h(v=vs.100).aspx Это может вам помочь.

Смежные вопросы