2010-12-20 15 views
0

auf asp.net C#, Ich möchte das Thema ändern, wenn Seite geladen wird, erfordert diese Aktion PreInit Event, die Masterpage nicht haben. Was ist die Lösung für dieses Problem?MasterPage Load Theme

Dank,

Antwort

0

Abgesehen von einem Modul zu erstellen, können Sie zu prüfen, alle Seiten von einer Basis Seite geerbt haben, die entsprechend PreInit und setzt das Thema definiert.

Für Kommentar bearbeiten.

Es ist nicht all zu viel, nur sicherstellen, dass die von Ihnen erstellten Seiten von einer Klasse ähnlich der Klasse BasePage statt der Standardklasse Page erben und Sie sollten festgelegt werden.

public class BasePage : Page 
{ 
    public BasePage() 
    { 
    this.PreInit += new EventHandler(BasePage_PreInit); 
    } 

    protected void BasePage_PreInit(object sender, EventArgs e) 
    { 
    this.Page.Theme = theme; //Garner from appropriate resource 
    } 
} 

Hoffe, dass hilft.

+0

können Sie einen Beispielcode angeben? –

+0

@Roy Amir hinzugefügt Beispiel. –