加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在每个页面上显示会员详细信息?

发布时间:2020-12-16 06:32:32 所属栏目:asp.Net 来源:网络整理
导读:我希望能够在每个页面上显示有关成员(“用户”)的各种详细信息 – 即显示某些登录详细信息的部分内容. 例如,stackoverflow在每个页面上显示我的用户名,我的声誉和徽章. 由于我们喜欢坚持使用ViewModel,因此填充ViewModel并将其传递给每个页面似乎是明智的. V
我希望能够在每个页面上显示有关成员(“用户”)的各种详细信息 – 即显示某些登录详细信息的部分内容.

例如,stackoverflow在每个页面上显示我的用户名,我的声誉和徽章.

由于我们喜欢坚持使用ViewModel,因此填充ViewModel并将其传递给每个页面似乎是明智的. ViewModel将包含成员对象(可能还包含其他数据).

一种方法是创建一个抽象的“基础”ViewModel类,并让您通常使用的所有其他ViewModel都从中继承.这看起来有点麻烦,因为你制作的每个ViewModel都必须从基础开始.恼人的?

另一种方法是使用HttpContext.User.Identity.

另一种方法是创建自定义WebViewPage.

但是对于这两种可能性,我被告知不推荐它,因为它“不是非常MVC-ish”.也就是说,它不符合我们在MVC中做事的自然方式.

我怎么能解决这个问题? ViewModels是否可行?

C#或VB.NET是可以接受的.

解决方法

创建一个部分返回用户信息的控制器,在布局页面中使用 Html.Action()调用控制器.我很久以前写的一篇博文,您可以查看:
http://kazimanzurrashid.com/posts/viewdata-or-viewbag-avoid-dependency-pollution-in-asp-dot-net-mvc-controller

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读