0

I have got the following code on master page:

<u1>
...............
............
.............
</u1>
<ul>
    <li id="link1" runat="server"><a href="mytestfile.aspx">Test Files</a></li>
    <li id="link2" runat="server"><a href="mylistitemtest.aspx">List Item Test</a></li>
    <li id="link3" runat="server"><a href="Mytest2.aspx">Some Test</a></li>    
</ul> 

I am trying to access the link1 on the content page as:

var pageHandler = HttpContext.Current.CurrentHandler;
         if (pageHandler is System.Web.UI.Page)
         {
             ((System.Web.UI.Page)pageHandler).Master.FindControl("nav_link1").Visible = false;
         }

but i am getting the error as: "Object reference not set to instance of an object"

SA.
  • 732
  • 7
  • 20
  • 38

2 Answers2

1

You don't have a control with the id nav_link1 on your master page it's link1

Fishcake
  • 10,496
  • 7
  • 44
  • 72
0

How to: Reference ASP.NET Master Page Content

Set @MasterType directive on ContentPage

<%@ MasterType virtualpath="~/Masters/Master1.master" %>

Then use FindControl to locate what you want on MasterPage

ContentPlaceHolder mpContentPlaceHolder;
TextBox mpTextBox;
mpContentPlaceHolder = 
  (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");
if(mpContentPlaceHolder != null)
{
    mpTextBox = 
        (TextBox) mpContentPlaceHolder.FindControl("TextBox1");
    if(mpTextBox != null)
    {
        mpTextBox.Text = "TextBox found!";
    }
}
2GDev
  • 2,478
  • 1
  • 20
  • 32