使用带有Razor视图的ASP.NET MVC 3。我有一个局部视图,我想在所有页面上呈现,所以我将它放在网站的主要布局页面中。但是,我不确定将数据加载到局部视图的最佳方法。我可以为每个ActionMethod加载它,但有没有办法在整个应用程序中全局执行此操作?
答案 0 :(得分:2)
将部分的所有数据加载逻辑移动到单独的操作方法中。
然后在你的布局页面中,调用RenderAction()方法而不是通过调用RenderPartial()渲染部分。
RenderAction()进行“子”动作调用 - 从而将该部分所需的所有逻辑放在一个地方。
答案 1 :(得分:2)
在MasterController中为此局部视图编写操作,因为每个控制器都从它继承,并将您的局部视图放在共享文件夹中并在站点的母版页上调用它(就像每个站点都有一个用户控件,它提供登录框,直到用户登录否则它会显示登录的用户信息)...希望它能回答你的问题......