hi all,
I have a master page, with these lines in the on load event:
string menuIDdata = Page.Request.QueryString["mid"];
menuID = 0;
// Get the menu ID
if (!int.TryParse(menuIDdata, out menuID))
{
menuID = 0;
}
// Select the correct menu
var selectedMenu = this.Page.FindControl("mnu" + menuID) as Panel;
selectedMenu.CssClass = "navButtonO";
The var is set fine, but the CSS class line crashes with the error:
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
The master page has these elements on it:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="AdminMaster.master.cs" Inherits="MySite.MasterPages.AdminMaster" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="mainHead" runat="server" >
<title>Administration</title>
<link rel="Stylesheet" href="../style/admin.css" />
</head>
<body>
<form id="mainForm" runat="server">
<div class="topMenu">
<asp:Panel id="mnu0" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=0" class="navLink">Admin Home</a>
</asp:Panel>
<asp:Panel id="mnu1" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=1" class="navLink">User Manager</a>
</asp:Panel>
<asp:Panel id="mnu2" runat="server" CssClass="navButton">
<a href="admin.aspx?mid=2" class="navLink">Products</a>
</asp:Panel>
<asp:Panel id="mnu3" runat="server" CssClass="navButtonR">
<a href="../default.aspx" class="navLink">Back to Site</a>
</asp:Panel>
</div>
<br /><br />
<asp:Panel id="subLinks" runat="server" CssClass="subMenu"></asp:Panel>
<div class="mainContent">
<asp:contentplaceholder id="mainContent" runat="server" />
</div>
</form>
</body>
</html>
Any ideas? Thanks! I'm new to .net, this code worked fine when it was on it's own page, I've moved it to a master page and I have narrowed the crash down to the line where it sets CSS class.
Edit
Commenting out the line:
selectedMenu.CssClass = "navButtonO";
And the whole thing works fine, so it appears just this line is failing.