我正在尝试为具有两个不同视图的MVC网站设计主页,具体取决于用户是否登录。
因此,默认(未登录)视图显示一般的非特定信息。如果我已登录,则该视图主要显示个人内容。
处理此问题的最佳做法是什么?别忘了,我们还需要进行单元测试。
谢谢堆!
答案 0 :(得分: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");
}
答案 1 :(得分:2)
我不确定你能否做到
User.IsloggedOn
过去,但现在我不得不说
User.Identity.IsAuthenticated
如果您使用的是内置Web窗体身份验证。