MVC从部分视图重新加载父视图

时间:2017-05-30 18:21:34

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

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

Partial View有一个submit函数,可以调用Controller Method

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

在开始时我有一个

  

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

Partial View中的

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

  

返回RedirectToAction("创建",新{id = Id});

但我无法检索错误消息。

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

所以我用

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

并定义

  

$(&#39; form&#39;)。submit(function(event)

对Controller进行调用。但我无法重定向到另一个方法来重新加载父视图。

我的父视图有一个类似

的模型
  

@model long

这是当前记录的ID。

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

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

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

我唯一能做的就是调用另一个Controller Method并设置

$('#div).html(result)

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

到达这两件事的正确方法是什么?

感谢

1 个答案:

答案 0 :(得分:1)

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

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

此处1是在“创建”操作中传递给参数id的{​​{1}}。