9

有没有办法让页面的一部分像一个小子页面一样呈现,比如组件?

例如,如果我的所有页面上都有购物车?

4

4 回答 4

10

使用预览版 5,Html.RenderPartial 是您的人选,您可以渲染子控件,并将您的视图数据或任意模型和新的视图数据组合传递给它们。

于 2008-09-16T15:59:09.950 回答
7

如果您希望它以组件的形式呈现另一个控制器操作以进行封装,请使用。

Html.RenderAction

使用 routedata 让您到达那里,拥有自己的 viewdata 和迷你生命周期

于 2008-09-16T16:03:54.090 回答
5

您可以创建一个修改视图数据的 ActionFilter。这样,您可以使用动作过滤器装饰每个返回部分的动作。看看我的帖子:

http://stephenwalther.com/blog/archive/2008/08/12/asp-net-mvc-tip-31-passing-data-to-master-pages-and-user-controls.aspx

于 2008-09-16T16:34:04.030 回答
1

您正在寻找子控制器。这个实现是做你所说的最好的方法。

编辑:我刚刚在这里发布了这个:http: //mhinze.com/subcontrollers-in-aspnet-mvc/

于 2008-09-16T23:18:31.517 回答