在 MVC 3 应用程序上使用 jQuery ajax 进行一些 CRUD 操作。
我将我的用户详细信息表单发布到控制器方法以保存信息。保存信息后,我将通过传递保存的 id 和一些临时数据信息重定向到详细信息页面,以显示一些消息,例如“用户保存成功”
但它不是在 SaveUserDetail 方法之后转到控制器中的 Detail 方法。
这是我的控制器代码
[HttpPost, Authorize]
public ActionResult UserDetail(string Id)
{
User user = AdminService.SelectUserByUserName(Id);
UserDetailViewModel viewModel = Mapper.Map<User, UserDetailViewModel>(user);
if (TempData["SaveStatus"] != null && TempData["SaveStatus"] == "true")
{
viewModel.InSaveMode = true;
viewModel.SaveStatus = true;
}
return View(viewModel);
}
[HttpPost, Authorize, ValidateAntiForgeryToken]
public ActionResult SaveUserDetail(UserDetailViewModel viewModel)
{
User userToSave = new User();
AdminService.UpdateUser(userToSave);
TempData["SaveStatus"] = "true";
return RedirectToAction("UserDetail", new { Id = viewModel.userId});
}
我的 jQuery 代码
$("#user-detail-form").submit(function (e) {
if ($(this).valid()) {
$.post('@Url.Action("SaveUserDetail")',
$(this).serialize(), function (data) {
$("#user-detail-box").html(data);
$.validator.unobtrusive.parse($("#user-detail-box"));
});
}
e.preventDefault();
});