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

Øyv*_*hen 1 .net c# asp.net-mvc-3

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

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

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

Ofe*_*lig 7

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

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

设置ViewBag不是一个好主意,它不是强类型,它打破了正确的MVC模式.