2008-11-11 103 views
7

我想根据用户是否登录,为具有两个不同视图的MVC网站设计一个主页。ASP.NET MVC一个路由,两个不同的视图

因此,图像默认(未登录)视图显示一般,非特定信息。如果我登录,视图显示主要是个人的东西。

处理此问题的最佳做法是什么?别忘了,我们还需要对此进行单元测试。

谢谢堆!

回答

13

这应该是从控制器返回适当视图的简单情况。

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

严重吗?该死 - 这很简单!我想到了一种分裂逻辑的观点(这吓人了我)。很好,很干净。真棒! – 2008-11-12 00:22:34

2

我不知道,如果你能做到

User.IsloggedOn

过去

,但现在我不得不说

User.Identity.IsAuthenticated

,如果你使用的是内置在Web窗体身份验证中。