【发布时间】:2011-08-05 03:10:44
【问题描述】:
正在使用带有 Razor 视图的 ASP.NET MVC 3。我有一个局部视图,我想在所有页面上呈现它,所以我将它放在站点的主布局页面中。但是,我不确定将数据加载到局部视图中的最佳方式。我可以为每个 ActionMethod 加载它,但有没有办法在整个应用程序中全局执行此操作?
【问题讨论】:
标签: asp.net-mvc razor partial-views
正在使用带有 Razor 视图的 ASP.NET MVC 3。我有一个局部视图,我想在所有页面上呈现它,所以我将它放在站点的主布局页面中。但是,我不确定将数据加载到局部视图中的最佳方式。我可以为每个 ActionMethod 加载它,但有没有办法在整个应用程序中全局执行此操作?
【问题讨论】:
标签: asp.net-mvc razor partial-views
将您的部分数据加载逻辑移动到单独的操作方法中。
然后在您的布局页面中,调用 RenderAction() 方法,而不是调用 RenderPartial() 来渲染部分。
RenderAction() 进行“子”操作调用 - 从而将该部分所需的所有逻辑放在一个地方。
【讨论】:
在 MasterController 中为此局部视图编写操作,因为每个控制器都继承自它,并将您的局部视图放在共享文件夹中并在站点的母版页上调用它(就像每个站点都有一个用户控件,它提供登录框,直到用户登录否则它会显示登录的用户信息)...希望它能回答您的问题...
【讨论】: