ASP.NET MVC RenderAction最佳实践

时间:2014-09-25 09:08:56

标签: asp.net-mvc asp.net-mvc-partialview

我想使用RenderAction将局部视图(B)渲染到视图(A)上,我可以将模型从A传递给B,并使用B所需的数据填充AModel上的属性:

Html.RenderAction("action", "controller", new { model = ViewData.Model })

或者只是传递操作和控制器并让操作负责获取所需的数据:

Html.RenderAction("action", "controller”)

我的问题是,哪种方法被认为是最佳做法?是应该所有数据都在父模型上,还是父项应该尽可能轻量级,部分视图返回特定于其数据要求的自己的模型?这两种方法是否同样可以接受,还是完全有更好的方法? 谢谢你的想法。

1 个答案:

答案 0 :(得分:0)

如果您使用Html.RenderAction("action", "controller")加载部分视图,那么在我看来,为您的局部视图选择一个单独的模型,因为如果您有部分视图的单独模型,那么您可以轻松地在其他视图中使用部分视图此外,您的视图模型将不那么笨重,并且您的视图和部分视图都有单独的轻量级模型。