【问题标题】:MVC reload Parent View from Partial ViewMVC 从局部视图重新加载父视图
【发布时间】:2017-10-31 08:17:13
【问题描述】:

我正在开发一个MVC 应用程序。我有一个包含Partial ViewParent View

Partial View 有一个调用Controller Methodsubmit 函数。

如果出现任何问题,我需要检索错误消息。如果一切顺利,我想重新加载父视图。

一开始我有一个

@using (Html.BeginForm("Create", "Controller", FormMethod.Post, new { enctype = "multipart/form-data", onsubmit = "javascript:return validate()" }))

Partial View。所以当一切正常时,我可以调用一个方法来重新加载父视图

return RedirectToAction("创建", new { id = Id });

但我无法检索错误消息。

所以为了检索错误消息,并保持在同一个视图中。我必须使用 Json。

所以我用

<form action="@Url.Action("Create", "Controller")" id="form" enctype="multipart/form-data" method="post">

并定义一个

$('form').submit(函数(事件)

调用控制器。但我无法重定向到另一个方法来重新加载父视图。

我的父视图有一个类似的模型

@model 长

即当前记录的ID。

当我重定向到另一个方法时。方法这样做...

 public ActionResult Create(Id =0)
        {
            return View(Id);
        }

如果我这样做window.location.href =ParentView .. 我没有生成 ID。

我唯一能做的就是调用另一个控制器方法并设置

$('#div).html(result)

但我需要在父视图中设置一个 DIV。我不想那样做。我正在寻找另一种方法。

达到这两个东西的正确方法是什么?

谢谢

【问题讨论】:

  • 使用 $.ajax 方法...在 JsonResult 或 ActionResult 中将数据传递给控制器​​,然后该方法返回 json 数据,然后您在成功方法中检查该数据...
  • 同意@DhirenPatel。然后,您确定在 ajax 返回后如何进行。大多数情况下,父页面刷新是 javascript window.location.href = ...
  • 是的,但我想在控制器方法上重新加载父视图。如果发生错误,我只返回 json。如果一切正常,我正在尝试重定向到另一个方法..
  • 当我重新加载父视图时,我需要传递一个参数,即当前记录的 ID...我如何使用 window.location.href= 来做到这一点?
  • 用于传递参数使用可以在javascript中制作ViewModel并传递给控制器​​并使用可以帮助您的链接stackoverflow.com/questions/40260758/…

标签: jquery ajax asp.net-mvc partial-views


【解决方案1】:

如果您希望使用 window.location.href 传递 id 值,您可以执行以下操作:

 window.location.href = '../Controller/Create?id=' + 1;

这里的1 是在创建操作中传递给参数idid

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多