【发布时间】:2009-12-13 13:21:23
【问题描述】:
我喜欢在HtmlHelper 对象上使用RenderAction 扩展方法来呈现页面中的侧边栏等,因为它允许我将每个此类部分的数据访问代码保存在控制器上的单独方法中。使用抽象控制器库,我可以定义一个默认的“侧边栏策略”,然后可以在需要时通过覆盖具体控制器中的方法来改进它。
我使用这种方法的唯一“问题”是,RenderAction 的构建方式总是创建控制器类的新闻实例,即使在呈现来自控制器的动作时也是如此。我的一些控制器在他们的Initialize 方法中进行了一些数据查找,并且在视图中使用RenderAction 方法会导致这种情况在同一个请求中发生多次。
如果要调用的操作方法与“父”操作在同一个控制器类上,是否有其他 RenderAction 的替代方法可以重用控制器对象?
【问题讨论】:
-
为什么这对您来说是个问题?不做过早优化吗?
-
@queen3: 可能,但这不是问题:)