Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

229
Visualizações
La llamada .NET MVC 5 Ajax no puede mostrar el mensaje de javascript después de la publicación

He creado un formulario en mi aplicación .NET MVC 5 como el siguiente:

 @using (Ajax.BeginForm("ChangePassword", "User", new { area = "UserSettings" }, new AjaxOptions { HttpMethod = "POST", OnSuccess = "alert('success');" //This will execute once the Ajax call is finished. }, null)) { @Html.TextBoxFor(m => m.Password, new { placeholder = "Password", @class = "form-control", @type = "password" })<br /> @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger", @style = "float:right;" }) @Html.TextBoxFor(m => m.PasswordConfirm, new { placeholder = "Confirm password", @class = "form-control", @type = "password" })<br /> @Html.ValidationMessageFor(model => model.PasswordConfirm, "", new { @class = "text-danger", @style = "float:right;" }) <button type="submit" class="btn btn-primary">Change Password</button> }

Y este es el método en el controlador:

 [HttpPost] [ActionName("ChangePassword")] public ActionResult ChangePassword(UserSettings model) { using (var ctx = new myContextEntities()) { var usr = ctx.Users.FirstOrDefault(x => x.Email == User.Identity.Name); model.FirstName = usr.FirstName; model.LastName = usr.LastName; model.Email = usr.Email; model.Country = usr.Countries.CountryName; if (ModelState.IsValid) { usr.PasswordSalt = Helpers.PasswordHelper.CreateSalt(40); usr.PasswordHash = Helpers.PasswordHelper.CreatePasswordHash(model.Password, usr.PasswordSalt); ctx.SaveChanges(); return View("UserSettings",model); } return View("UserSettings", model); } }

Una vez que finaliza la llamada, la página simplemente se actualiza, lo que no debería suceder, pero debería mostrar el mensaje de éxito... ? ¿Qué estoy haciendo mal aquí?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Para la solicitud de Ajax, cree el siguiente paquete en BundleConfig.cs

 public static void RegisterBundles(BundleCollection bundles) { //Create Your other bundles here //Create your Jquery validate bundle bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include( "~/Scripts/Assets/jquery.validate.min.js", "~/Scripts/Assets/jquery.validate.unobtrusive.min.js", "~/Scripts/Assets/jquery.unobtrusive-ajax.min.js" )); }

En su _Layout.cshtml. Incluir este paquete como:

 @Scripts.Render("~/bundles/jqueryval")

Asegúrese de incluir jQuery antes de este paquete. Tenga en cuenta que las rutas a los archivos javascript son ficticias en el bloque de código anterior. Debes dar tus propios caminos. Se deben incluir los siguientes archivos JS:

  1. jquery.validate.min.js
  2. jquery.validate.unobtrusive.min.js
  3. jquery.unobtrusive-ajax.min.js

Espero eso ayude :)

over 4 years ago · Santiago Trujillo Relatório

0

Incluya Ajax discreto desde el siguiente enlace

Haga clic aquí

Nota : no incluya jquery.unobtrusive-ajax.min.js y jquery.unobtrusive-ajax.min.js, incluya solo un archivo (js/min.js)

Los archivos a continuación no afectan nada para usted y su problema.

1.jquery.validate.min.js
2.jquery.validate.unobtrusive.min.js

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda