复杂的页面和数据

时间:2012-11-22 04:21:37

标签: asp.net-mvc-3 razor

我正在尝试找出在我们的应用程序中处理页面的最佳方法,例如仪表板,其中有许多不同的窗格,其中包含各种数据。

主要问题是当页面需要如此多的数据时,控制器操作变得难以处理。客户端可以分解为部分视图以使其更易于管理,但所有数据仍然需要传递到View中以分发到部分。或者是吗?

显然有些面板可以动态加载或类似的东西,但除了从浏览器加载单个页面之外,我一直在寻找最好的方法。

1 个答案:

答案 0 :(得分:1)

您是否考虑在视图中使用Html.Action?您可以将足够的数据传递到主视图,以便为每个子操作提供所需的数据。主要操作将呈现主视图,该视图将为每个窗格调用操作。每个操作都将负责该窗格,呈现自己的局部视图。此外,您可以直接从客户端回调每个子操作,以通过AJAX动态更新该窗格。

以下是一个示例,其中包含一些主视图可能看起来像的模拟操作。

 <div class="left-pane">
    @Html.Action("Summary", new { id = Model.ID } )
 </div>
 <div class="middle-pane">
    @Html.Action("PendingItems", new { id = Model.ID, timestamp = DateTime.Now } )
 </div>
 <div class="right-pane">
    @Html.Action("News")
 </div>