Asp.net mvc 如何从局部视图操作刷新基本视图

Asp.net mvc 如何从局部视图操作刷新基本视图,asp.net-mvc,Asp.net Mvc,我是MVC新手,我正在实现一个包含大量AJAX和局部视图的web应用程序 我有2个视图:1个基础视图和1个局部视图。每个视图都有自己的控制器。基础视图通过模型将数据发送到局部视图 我想让局部视图/控制器向基本视图/控制器发送数据。最好的方法是什么?是否有方法从局部视图操作刷新基础视图 public ActionResult SendDataToBaseView() { return View("BaseView", viewModel);

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

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

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

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

不太清楚你的设置是什么

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

以下是我设想采取的步骤

  • 调用控制器操作以渲染基本视图。让我们调用controller
    BaseController
    和action
    Index
  • 在基本视图中,通过
    Html.RenderPartial()
    Html.RenderAction()
    Html.Action()
  • 响应被发送到客户端
  • 事件发生在需要更新基本视图呈现的数据的客户端上
  • AJAX请求被发送到
    BaseController
    Update
    操作,该操作返回一个
    JsonResult
    ,其中包含可用于更新基本视图输出的部分响应的数据
  • 在客户端接收响应并更新DOM的这些部分

  • 谢谢Russ的回复。我的问题是如何在AJAX调用的操作中更新整个基本视图(即return view()),而不是只更新视图的一部分(即return PartialView())?对我来说,困难在于这个操作是由AJAX调用的,它只会更新视图的一部分,而不会像我需要做的那样更新整个视图。