2009-07-19 9 views

risposta

6

Sì.

Si desidera creare un strongly-type master page e quindi è possibile accedere alle sue proprietà dalla pagina di contenuto durante Page_Load o altrove.

2

È possibile creare una proprietà pubblica nella pagina principale che cambierà l'etichetta.

public string Heading 
{ 
    set 
    { 
     lblHeading.text = value; 
    } 

} 
3

Sì, è possibile. MasterPage si comporta come UserControl nella tua pagina.

possibili misure per attuare questo:

  1. creare una proprietà o un metodo sul MasterPage che consente di apportare modifiche all'etichetta. Es .:

    public void ChangeLabel(string label) { 
        lblHeading.Text = label; 
    } 
    
  2. Dal Page, ottenere il riferimento alla MasterPage utilizzando la proprietà Page.Master.

  3. Chiamare il metodo definito nel passaggio 1 per modificare il contenuto di MasterPage.

Ulteriori informazioni: Potrebbe essere necessario lanciare Page.Master nel vostro tipo MasterPage, provare Coding the Wheel's link per le istruzioni su come farlo.

+0

Ad esempio, dalla pagina fare questo (pagina master ha un'etichetta con ID = "Label_welcome") : Etichetta mpLabel = (Etichetta) Page.Master.FindControl ("Label_welcome"); if (mpLabel! = Null) { mpLabel.Text = "Benvenuto Fazio!"; } –

13

sì, è possibile in questo modo molto semplice ........

((Label)Master.FindControl("lblHeading")).Text = "your new text"; 
2

fare come sopra indicato. Quindi, per esempio, dalla pagina fare questo (pagina master ha un'etichetta con ID = "Label_welcome"):

Label mpLabel = (Label)Page.Master.FindControl("Label_welcome"); 

    if (mpLabel != null) 
    { 
    mpLabel.Text = "Welcome Fazio!"; 
    } 
0

Dipende anche da quanto in profondità i controlli all'interno della pagina Maestro sono. Nel mio caso, ho avuto un controllo Label all'interno di un controllo ContentPlaceHolder ... quindi ho dovuto fare questo ...

Label myLBL = this.Master.FindControl("HeaderContent").FindControl("myLabel") as Label; 
Problemi correlati