我想在执行create method
时重定向到一个动作所以create方法会返回:
return Json(new
{
Data = base.RenderView("_Forme ", model),
Message = (string)TempData[TEMP_DATA_MESSAGE_KEY],
Result = (AjaxResultType)TempData[TEMP_DATA_CODE_KEY]
}, JsonRequestBehavior.AllowGet);
}
布局页面:
<div> @Html.Partial("_Forme") </div>
@if (@Model.nouveau==false)
{
<div> @Html.Partial("_Onglet") </div>
<div> @Html.Partial("_Details") </div>
}
**在视图中:_Forme.cshtml **
<a href="@Url.Action("Create", "Uneform")"
@if (Model.nouveau==true)
{ Create}
{ Update }
</a>
我希望能够重新刷新布局页面并显示所有部分视图。 我已经尝试使用javascript重定向到操作无效,任何帮助
答案 0 :(得分:0)
如果您只想刷新布局页面的某些部分,请将其包装在容器div中并进行ajax调用以获取该区域的新标记
<div id="updatable">
@if (@Model.nouveau==false)
{
<div> @Html.Partial("_Onglet") </div>
<div> @Html.Partial("_Details") </div>
}
</div>
在您的ajax电话success
事件中,您可以使用$.load
方法
$("#updatable").load("/Home/GetUpdatedHeader");
假设GetUpdatedHeader
动作方法返回一个局部视图,其中包含其他2个局部视图。
如果您只是想重新加载同一页面,可以在javascript中执行此操作。
window.location.href = window.location.href;
你可以在你的ajax电话success
活动中这样做。
如果您想重定向到其他操作/页面
window.location.href ="/Home/Index"; //Replace this value with your url
您也可以在json响应中发送新页面的网址(您可以使用UrlHelper构建网址)并将其用于重定向。