Tom Gullen
Tom Gullen

Reputation: 61773

ASP.net access a master page variable through content page

I have a master page:

<%@ Master Language="C#" AutoEventWireup="true" Codefile="AdminMaster.master.cs" Inherits="AlphaPackSite.MasterPages.AdminMaster" %>

Then I have a public variable:

public partial class AdminMaster : System.Web.UI.MasterPage
{
    protected bool blnShowDialogue = false;

In my content page I would like to set this variable:

blnShowDialogue = true;

So that in my master page I can have the code:

    $(function() {
    <%if(blnShowDialogue == true){%>
        $("#dialog").dialog();
    <% } %>
    }

Does this make sense? When I try combinations of Master.blnShowDialogue, or blnShowDialogue = , etc etc nothing seems to work.

The name 'blnShowDialogue' does not exist in the current context

Upvotes: 13

Views: 32189

Answers (2)

mamoo
mamoo

Reputation: 8166

Use @MasterType directive, as explained here:

http://msdn.microsoft.com/en-us/library/c8y19k6h.aspx

Upvotes: 14

RPM1984
RPM1984

Reputation: 73133

You need to cast the Master page to the actual type.

((AdminMaster)Master).blnShowDialogue = "Foo";

Otherwise Master will simply be referring to the base class Master - you're trying to access a property in your actual class which derives from the Master class.

The error you are getting is because a property called blnShowDialogue does not exist in the class System.Web.UI.MasterPage - which makes sense, as you're not telling it which specific MasterPage instance you are trying to refer to.

Hope that helps.

Upvotes: 6

Related Questions