在哪里放置控制器范围的可访问对象

时间:2011-05-28 14:03:57

标签: asp.net-mvc

我想在我的应用程序中访问(当前登录的)用户对象到所有控制器和视图。例如,我想将用户名放在我的"侧边栏"部分,但不知道如何访问用户对象,因为它存储在另一个控制器中。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用Html.Action辅助方法。您可以定义一个视图模型,其中包含您要显示的有关当前登录用户的所有必要信息(例如他的用户名),然后有一个控制器操作,它将使用控制器的User属性来填充此视图模型并将其传递给相应的局部视图。然后在您的母版页中,您将使用Html.Action帮助程序包含此信息:

<div id="sidebar">
    @Html.Action("Index", "Users")
</div>

将调用Index的<{1}}操作:

UsersController