2008-11-11 18 views
7

Ich versuche, eine Homepage für eine MVC-Site zu entwerfen, die zwei verschiedene Ansichten hat, basierend darauf, ob der Benutzer angemeldet ist oder nicht.ASP.NET MVC eine Route, zwei verschiedene Ansichten

So Bild der Standard (nicht angemeldet) Ansicht zeigt allgemeine, unspezifische Informationen. Wenn ich eingeloggt bin, zeigt die Ansicht hauptsächlich persönliche Dinge an.

Was ist die beste Vorgehensweise bei der Handhabung? Vergiss nicht, wir müssen das auch testen.

Vielen Dank!

Antwort

13

Dies sollte ein einfacher Fall sein, bei dem die entsprechende Ansicht von Ihrem Controller zurückgegeben wird.

public ActionResult Index() 

    If (User.IsLoggedOn) 
    { 
     // Do user-specific controller stuff here... 

     return View("LoggedOnIndex"); 
    } 
    else 
    { 
     // Do anon controller stuff here... 

     return View("AnonymousIndex"); 
    } 
+0

Ernsthaft? Verdammt - das ist einfach! Ich dachte an eine Ansicht mit gespaltener Logik (die mir Angst machte). Schön und sauber. Genial! –

2

Ich bin mir nicht sicher, ob Sie

User.IsloggedOn

in der Vergangenheit tun konnte, aber jetzt muss ich

User.Identity.IsAuthenticated

sagen, wenn Sie die Built verwenden In der Webformular-Authentifizierung.

Verwandte Themen