Asp.net Mvc-需要帮助了解如何在用户通过身份验证/未通过身份验证时显示标题内容



我使用的是asp.net mvc 4。

我有一个有两个部分的页眉,顶部和底部。顶部仅显示静态链接和图像。

当用户未登录时,底部将显示登录按钮和其他信息。

一旦用户登录,底部部分将显示用户特定信息和整体游戏信息。每当用户向网站上的页面提出请求,并且我确定数据过时时,我都想重新加载这些信息。

使用asp.net web表单,我可以创建一个用户控件来表示底部部分的功能。

它出现在asp.net mvc中,我可以使用部分视图,然后调用RenderAction,这将允许在渲染底部时调用控制器操作。

在控制器操作中,我可以为已验证用户呈现一个部分视图,为未验证用户呈现另一部分视图。如果确定数据过时,我还可以为经过身份验证的用户重新加载数据。

这是最好的方法吗?我的底部不需要ajax。

感谢

这取决于底部部分的复杂性。如果没有太多逻辑,可以将经过身份验证和未经身份验证的html代码放在一个单独的局部视图中。如果它们非常不同,可以使用两个分开的局部视图。此外,只需将按钮部分放入主页面也是一种常见的做法,没有太大的区别。

如果您利用.netmvc的身份验证框架(这应该是最佳实践),您可以简单地在Action中使用User.Identity.IsAuthenticated。在View页面中,它是page.User.Identity.IsAuthenticated。它可以检查当前用户是否已登录。

有几种方法,它们都取决于您使用的授权机制。一般规则是查询(此处为伪代码)@if(IsAuthenticated(currentUser){布拉}其他的未经身份验证的内容

通过示例和文档查看此项目http://nerddinnerbook.s3.amazonaws.com/Intro.htm

它会驱使你完成你想要完成的事情。

最新更新