我正在开发MVC
应用程序。我有一个Parent View
,其中包含一个Partial View
。MVC从部分视图重新加载父视图
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在我父视图。我不想这样做。我正在寻找另一种方式来做到这一点。
什么是正确的方法来达到这两件事?
感谢
使用$ .ajax方法...将数据传递给JsonResult或ActionResult中的控制器,并且该方法返回json数据并检查成功方法中的数据... –
同意@DhirenPatel。然后你确定在ajax返回后如何继续。大多数情况下,父页面刷新是一个javascript'window.location.href = ...' – nurdyguy
是的,但我想重新加载控制器方法上的父视图。如果发生错误,我只返回json。我试图做一个重定向到另一个方法,如果一切正常.. – Diego