我有一个Ajax形式:阿贾克斯形式改变URL
@model Site.Models.ChangeModel
@using (Ajax.BeginForm("ChangePassword", "Account", new AjaxOptions { HttpMethod = "POST", UpdateTargetId="result" }, new { @class = "form-horizontal", role = "form", id = "changePasswordForm" }))
{
<div id="result"></div>
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, Base.ChangesNotSubmitted, new { @class = "alert alert-danger" })
@Html.EditorFor(m => m.ChangePasswordModel.OldPassword)
@Html.EditorFor(m => m.ChangePasswordModel.Password)
@Html.EditorFor(m => m.ChangePasswordModel.ConfirmPassword)
<div class="form-group">
<div class="col-sm-offset-6 col-sm-2">
<button type="submit" class="btn btn-primary">@Base.ChangePassword</button>
</div>
</div>
}
通过这项行动
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangePassword(ChangePasswordModel model)
{
bool changed=false;
if (ModelState.IsValid)
{
var result = UserManager.ChangePassword(User.Identity.GetUserId(), model.OldPassword, model.Password);
if (result.Succeeded)
{
changed = true;
}
}
return Content("changed");
}
的形式位于操作指数,和我没有视图ChangePassword!
提交sform后我得到:
- 与内容的空白页我已经发送
- URL被改变.../ChangePassword长度= 7(之前是/指数) ?
我不知道这个长度参数来自哪里。
所以我的问题是如何留在相同的观点,并得到正确的结果div?
任何人的任何想法,参数长度来自我已经有这个问题几次了。
您是否引用了所有必需的脚本?我用'Ajax.BeginForm()'看到的最常见的问题是不引用所有脚本或者以错误的顺序引用它们。 – HTX9