ASP.NET MVC布局逻辑的最佳位置在哪里?

3

例如,我有一个拥有复杂布局(母版页)的网站。为了呈现布局,我们需要从数据库中获取一些东西,并且可能需要做一些计算。

但是,我应该把这段代码放在哪里呢?

  1. 在每个视图中放置代码(可能通过渲染部分)是一个不好的想法。
  2. 当然不能将布局剃刀标记作为代码放置位置。标记用于可视化逻辑而不是业务逻辑。
2个回答

4

The Haacked在博客中谈到了Html.RenderAction帮助程序(也称为子操作),它似乎非常适合您的情况。它允许您嵌入网站中的部分/小部件,这些部分/小部件经历与主要部分不同的Controller/Model/View生命周期。非常有用,可以在布局中并入常见的小部件,而无需使您的主控制器担心这种横向逻辑。


0
你应该将该逻辑放在子操作中,在布局中调用它们。

在每个操作中?但我只想有一个地方放置这段代码。 - Neir0
@Neir0:不要这样做。为每个逻辑部分创建一个子操作,并在布局中的正确位置调用它们。 - SLaks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接