2009-07-13 5 views
0

Я знаю, что мы сделали это раньше на другой странице .aspx, использующей эту главную страницу. Поэтому я попробовал это в новом .aspx, но по какой-то причине он не распознает объект Master. И .aspx определенно установлен на главной странице в директиве страницы правильно и нет никаких ошибок на этот счет:Доступ к объекту MasterPage из кода .aspx

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Text; 

public partial class LandingPage : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Master.HideNavbar(); 
    } 
} 
+1

Какие ошибки вы видите? –

ответ

3

стараться ссылаться на ваш MasterPage в файле ASPX:

<%@ MasterType virtualpath="~/YourMasterPage.master" %> 
1

, чтобы получить типизированный класс мастер страницы в вашем коде, вам нужно определить, какой тип его, либо в директиве Page или с директивой MasterType на странице:

<%@ Page masterPageFile="~/MasterPage.master"%> 

<%@ MasterType virtualPath="~/MasterPage.master"%> 

Если у вас нет этих директив, вы можете аль способы бросить Мастер свойство в коде:

(MasterPage)this.Master 

смотри также здесь http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx

Edit:
является HideNavbar() метод общественного?

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