2009-07-15 17 views
4

Gibt es eine gute Möglichkeit, die MasterPage und/oder .css dynamisch in asp.net mvc basierend auf den Benutzereinstellungen zu ändern?asp.net mvc change master page & .css dynamisch

Ich verstehe, kann ich den Namen Master wie folgt ändern:

return View("viewName", "master-name", oModel) 

und die Aussicht, eine andere Content mit vielleicht, aber das muss jeder Controller + Aktion zu ändern.

Ich müsste annehmen, dass es einen besseren Weg als diesen gibt.

Antwort

0
+0

sieht interessant aus wird es ausprobieren! – Kumar

+0

arbeitete für die Masterseite haben eine Theorie über die gleiche Änderung für die CSS zu, aber werde es sehen, ich habe die Zeit, es zu implementieren – Kumar

+0

Hallo, dieser Link ist kaputt, der Blog wurde hier verschoben ist die neue URL: http : //www.developmentalmadness.com/archive/2009/06/09/aspnet-mvc-discover-masterpagefile.aspx –

3

Ich habe eine etwas einfachere Methode:

return View("View", getMasterName()); 

und in meinem Master-Controller, die ich habe:

protected string getMasterName() { 
    return (Request.QueryString["tb"] == null) ? null : "Other_Master"; 
} 

ich es verwenden, um eine andere Vorlage anzuzeigen im Falle eines Thickbox Popups vs, wenn zB Javascript nicht funktioniert und der Controller ohne Thickbox geladen wird.

+1

gibt es nicht viel anders als das, was ich habe angesichts der Erweiterbarkeit in MV, ich hoffe, es gibt einen anderen Weg – Kumar