c# - 在 MVC3 中的布局文件中显示帐户信息的最佳方式

标签 c# .net asp.net-mvc-3

我正在使用 MVC3,并且有一个对我的所有 View 通用的布局文件。在布局文件中,我想显示有关当前登录用户的一些信息。

我现在开始工作了,但我发现唯一的方法是在操作方法中设置一些 ViewBag 字段,然后在布局文件中选择它们。这意味着我必须从我所有的操作方法中访问 ViewBag 字段,或者至少创建一个设置它们的方法,然后从我的所有操作方法中调用该方法。

是否有任何集中方式来完成这项工作?绝对最好的是在一个地方为布局文件做一次,但如果没有其他选择,每个 Controller 一个地方可能就足够了。

最佳答案

正确的方法是在布局文件中调用 Html.RenderAction(),您需要在其中获取特定于用户的详细信息。然后在某个地方创建一个合适的 Action 方法,该方法读取用户的帐户详细信息并将它们作为 View (部分 View )或作为原始 html(return Content("..."))返回。

这样,您还可以受益于缓存布局页面并保持用户帐户详细信息区域未缓存的能力(因为每个用户显然不同)。

设置 ViewBag 不是一个好主意,它不是强类型并且它破坏了 MVC 的正确模式。

关于c# - 在 MVC3 中的布局文件中显示帐户信息的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7009022/

相关文章:

asp.net - 加载共享类库时出错

asp.net-mvc - 如何在ASP.NET MVC中定义 View 级变量?

c# - 为什么我们在调用方法时需要使用 out 关键字

C# - 用下划线和字母替换每个大写字母

c# - 文本不显示在 C# 中的位图图像上

.net - Powershell-将COM对象类型转换为字符串

c# - 如何使用 .NET CLI 指定对其他项目的依赖关系?

c# - .NET Framework项目上的dotnet还原无法正常工作

asp.net-mvc - 从 Razor 声明性 View 使用 MVC HtmlHelper 扩展

c# - MVC3中使用Get方法提交表单?