在MVC3中显示布局文件中的帐户信息的最佳方法

时间:2011-08-10 10:04:29

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

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

我现在正在使用它,但我发现如何在动作方法中设置一些ViewBag字段,并在布局文件中选择它们的唯一方法。这意味着我将从我的所有操作方法中获取ViewBag字段,或者至少创建一个设置它们的方法,并从我的所有操作方法中调用此方法。

有没有中心方法来完成这项工作?最好的方法是在一个地方为布局文件做一次,但如果没有其他选项,每个控制器一个地方可能就足够了。

1 个答案:

答案 0 :(得分:7)

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

这样,您还可以利用缓存布局页面的功能,并保持用户的帐户详细信息区域不被缓存(因为它对每个用户来说显然都不同)。

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