我正在使用Ajax.BeginForm来创build一个表单,将执行一个AJAX回发到一个特定的控制器操作,然后如果操作成功,用户应该被redirect到另一个页面(如果操作失败,则状态消息显示使用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] } 如果删除成功,我将返回一个redirect结果: [Authorize] public ActionResult Delete(Int32 UserId) { UserRepository.DeleteUser(UserId); return Redirect(Url.Action("Index", "Home")); } 但主控制器索引视图正在加载到UpdateTargetId,因此我最终在一个页面内的页面。 我正在考虑两件事情: 要么我构build这个错误,应该以不同的方式处理这种types的行为(不使用ajax)。 返回一个redirect结果,而不是返回一个视图,其中包含JavaScript,在客户端进行redirect。 有没有人对#1有评论? 或者,如果#2是一个很好的解决scheme,那么“redirectJavaScript视图”是什么样的?