我正在使用Ajax.BeginForm来创建一个表单,它将ajax回发到某个控制器操作,然后如果操作成功,用户应该被重定向到另一个页面(如果操作失败,那么将显示一个状态消息AjaxOptions UpdateTargetId).
using (Ajax.BeginForm("Delete", null,
new { userId = Model.UserId },
new AjaxOptions { UpdateTargetId = "UserForm", LoadingElementId = "DeletingDiv" },
new { name = "DeleteForm", id = "DeleteForm" }))
{
[HTML DELETE BUTTON]
}
Run Code Online (Sandbox Code Playgroud)
如果删除成功,我将返回重定向结果:
[Authorize]
public ActionResult Delete(Int32 UserId)
{
UserRepository.DeleteUser(UserId);
return Redirect(Url.Action("Index", "Home"));
}
Run Code Online (Sandbox Code Playgroud)
但是Home Controller Index视图已加载到UpdateTargetId中,因此我最终得到了页面中的页面.我正在考虑的两件事:
有人对#1发表评论吗?或者,如果#2是一个很好的解决方案,那么"重定向javascript视图"会是什么样子?