如何从部分视图操作刷新基本视图

时间:2011-04-17 08:40:23

标签: asp.net-mvc

我是MVC的新手,我正在实现一个包含大量AJAX和部分视图的Web应用程序。

我有2个视图:1个基本视图和1个局部视图。每个视图都有自己的控制器。基本视图通过Model将数据发送到局部视图。

我想让局部视图/控制器将数据发送到基本视图/控制器。最好的方法是什么?有没有办法从局部视图操作刷新基本视图?

        public ActionResult SendDataToBaseView()
        {
            return View("BaseView", viewModel);
        }

1 个答案:

答案 0 :(得分:1)

目前还不太清楚你的设置是什么。

如果您正在更新从主视图呈现的HTML,那么您可能在同一控制器上有另一个控制器操作,您在该控制器上调用了一个动作来呈现基本视图。这个其他控制器操作可能返回JSON或HTML(也许是部分视图),在客户端负责获取AJAX调用的结果并填充由基本视图呈现的页面部分新数据。

以下是我想要采取的步骤

  1. 调用控制器操作以呈现基本视图。让我们调用控制器BaseController和操作Index
  2. 在基本视图中,通过Html.RenderPartial()Html.RenderAction()Html.Action()
  3. 进行调用以呈现partiaol视图
  4. 响应发送到客户端
  5. 事件发生在需要更新基本视图呈现的数据的客户端上。
  6. AJAX请求BaseController Update操作,该操作返回包含数据的JsonResult,可用于更新基本视图输出的部分响应。
  7. 在客户端接收响应并更新DOM的这些部分。