例如,当用户访问索引页面时,他看到的内容与登录用户看到的内容不同。
我如何实现这一点,这需要某种注释还是其他什么?
答案 0 :(得分:1)
您是否尝试过_Layout视图或部分视图?
答案 1 :(得分:1)
处理此问题的方法不止一种......
如果您想在控制器中处理它或查看它由你决定。 理想情况下,我会冒险猜测选择取决于你想要显示或不显示的情况。
如果你在控制器中处理它......
Function Index()As ActionResult
If Request.IsAuthenticated Then
' Logged in is TRUE
Return View(LoggedInUserContentModel)
Else
' Logged in is FALSE
Return View(SiteGuestUserContentModel)
End If
End Function
如果你在视图中处理.... 直接显示页面内容
<% If Request.IsAuthenticated Then %>
<!-- User is Logged In -->
Welcome <b><%: Page.User.Identity.Name %></b>!
[ <%: Html.ActionLink("Log Off", "LogOff", "Account")%> ]
<% Else %>
<!-- User is NOT Logged In -->
Welcome <b>Guest</b> please login!
[ <%: Html.ActionLink("Log On", "LogOn", "Account")%> ]
<% End If %>
您可以选择不直接显示页面上嵌入的内容,但可以选择显示从ChildAction中检索的内容 (这类似于使用旧的非MVC风格的网页设计在UserControl中显示它,而不是直接将内容放在网页上)
答案 2 :(得分:1)
处理它的一种简单方法是在控制器方法中使用RedirectToAction。
Function Index() As ActionResult
If User.Identity.IsAuthenticated Then
Return RedirectToAction("Index", "AuthenticatedController")
Else
Return View()
End If
End Function