我希望能够在每个页面上显示有关成员(“用户”)的各种详细信息 - 即显示一些登录详细信息的部分。
例如,stackoverflow 在每个页面上显示我的用户名、我的声誉和徽章。
由于我们喜欢坚持使用 ViewModel,因此填充 ViewModel 并将其传递给每个页面似乎是明智的。ViewModel 将包含成员对象(可能还有其他数据)。
一种方法是创建一个抽象的“基础”ViewModel 类,并让您通常使用的所有其他 ViewModel 都继承自它。这似乎有点麻烦,因为您制作的每个 ViewModel 都必须从基础继承。恼人的?
另一种方法是使用HttpContext.User.Identity
.
另一种方法是创建自定义 WebViewPage。
但是对于这两种可能性,我被告知不建议这样做,因为它“不是非常 MVC-ish”。也就是说,它不符合我们在 MVC 中做事的自然方式。
我该如何解决这个问题?ViewModel 是要走的路吗?
C# 或 VB.NET 是可以接受的。