У меня есть форма AJAX: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");
}
Форма находится в действии Index, и я не имею вида на Changepassword!
После подачи sform я получаю:
- пустая страница с содержанием я послал
- Url изменяется на .../ChangePassword длина = 7 (раньше это было/индекс) ?
Я не знаю, откуда этот параметр длины.
Так что мой вопрос: как оставаться на одном и том же месте и получить результат в правильном div?
И кто-нибудь знает, откуда длина параметра, у меня уже есть эта проблема несколько раз с ней.
Вы ссылаетесь на все необходимые сценарии? Наиболее распространенные проблемы, которые я видел с помощью Ajax.BeginForm() ', не ссылаются на все сценарии или не ссылаются на них в неправильном порядке. – HTX9