2010-09-06 8 views
12

ho una pagina master:ASP.net accedere a una variabile pagina master attraverso la pagina di contenuti

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

Poi ho una variabile pubblica:

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

Nel mio contenuto della paginavorrei per impostare questa variabile:

blnShowDialogue = true; 

In modo che nella mia pagina principale posso avere il c ode:

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

Ha senso? Quando provo combinazioni di Master.blnShowDialogue, o blnShowDialogue =, etc etc, niente sembra funzionare.

Il nome 'blnShowDialogue' non esiste nel contesto attuale

risposta

12

Usa @MasterType, come spiegato qui:

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

+0

Hai ragione, non ha nemmeno notato che mancava nella sua dichiarazione. +1. – RPM1984

+0

Grazie per la risposta, ma sono ancora un po 'perso con questo! Dove metto quella direttiva? –

+1

Ciao Tom, devi metterlo sotto la tua direttiva @page, nelle tue pagine .aspx. – mamoo

5

È necessario lanciare la pagina master per il tipo effettivo.

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

Altrimenti Maestro sarà semplicemente riferirsi alla classe di base Maestro - si sta cercando di accedere a una proprietà nella classe reale che deriva dal Maestro classe.

L'errore che si stanno ottenendo è perché una proprietà chiamata blnShowDialogue non esiste nella classe System.Web.UI.MasterPage - che ha un senso, dato che non stai dicendo è che MasterPage specifica istanza sei cercando di fare riferimento a

Spero che questo aiuti.

direttiva
+1

Grazie, ma dà l'errore, \t Il tipo o dello spazio dei nomi il nome 'AdminMaster' non è stato trovato (che le manca una direttiva using o un riferimento all'assemblaggio?) –

+0

@ Tom - la risposta di @ mamoo è corretta (non guardare abbastanza attentamente la direttiva della tua pagina Master), dare la sua strada. – RPM1984

Problemi correlati