2017-05-30 82 views
0

我正在开发MVC应用程序。我有一个Parent View,其中包含一个Partial ViewMVC从部分视图重新加载父视图

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

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

在开始时我有一个

@using(Html.BeginForm( “创建”, “控制器”,FormMethod.Post,新的{ENCTYPE = “多部分/格式数据”,的onsubmit =“ javascript:return validate()“}))

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

return RedirectToAction(“Create”,new {id = Id});

但我无法检索错误消息。

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

于是我就用

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

和定义

$( '形式')。提交(函数(事件)

做呼叫控制器。但我不能重定向到另一种方法来重新加载父视图。

我的父视图有一个模型像

@model长

,它是当前记录的ID。

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

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

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

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

$('#div).html(result) 

但我需要设置一个DIV在我父视图。我不想这样做。我正在寻找另一种方式来做到这一点。

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

感谢

+0

使用$ .ajax方法...将数据传递给JsonResult或ActionResult中的控制器,并且该方法返回json数据并检查成功方法中的数据... –

+0

同意@DhirenPatel。然后你确定在ajax返回后如何继续。大多数情况下,父页面刷新是一个javascript'window.location.href = ...' – nurdyguy

+0

是的,但我想重新加载控制器方法上的父视图。如果发生错误,我只返回json。我试图做一个重定向到另一个方法,如果一切正常.. – Diego

回答

1

如果您正在寻找通过使用值你window.location.href可以如下做ID:

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

这里1是传递给帕拉姆在创建行动idid