Usuario
Guardar registros desde un Partial View popup

Pregunta
-
Hola
Trabajo con ASP.NET MVC 5, javascrip, JQuery, HTML deseo guardar registro desde un partial view popup, pero necesito hacerlo con Ajax, lo hice con un BeginForm, pero es la manera mas simple, la intención que tengo de hacerlo con Ajax es que me facilita mandar mensajes, como toastr Notificaciones toastr
INDEX VIEW
@using (Html.BeginForm("Create", "Proveedor")) { @Html.AntiForgeryToken() <div id="myModal" class="modal fade in"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header" style="background-color: #337ab7;border-color:#2e6da4;color:#fff;"> <button type="button" class="close" data-dismiss="modal">×</button> <h5 class="modal-title">Proveedor</h5> </div> <div class="modal-body"> <div id="resultado"></div> </div> <div class="modal-footer"> <button type="submit" class="btn btn-primary">Guardar</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button> </div> </div> </div> </div> }
CONTROLLER
public ActionResult Create(ProveedorDto entity) { try { if (ModelState.IsValid) { //var documento = SdProveedor.Lista(); //ViewBag.ListaDocumento = new SelectList(documento, "Id", "Descripcion"); SdProveedor.Create(entity); return RedirectToAction("Index"); } else return View(entity); } catch { return View(entity); } }
PARTIAL VIEW
@model Demo.ServiciosDominio.Dtos.ProveedorDto @*@using (Html.BeginForm()) { @Html.AntiForgeryToken()*@ <div class="form-horizontal"> @*<h4>Proveedor</h4> <hr />*@ @Html.ValidationSummary(true, "", new { @class = "text-danger" }) <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.RazonSocial, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EditorFor(model => model.RazonSocial, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.RazonSocial, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.DocumentoIdentidad, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EnumDropDownListFor(x => x.DocumentoIdentidad, "<<SELECCIONE>>", new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.DocumentoIdentidad, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.NumeroDocumento, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EditorFor(model => model.NumeroDocumento, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.NumeroDocumento, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.Direccion, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EditorFor(model => model.Direccion, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Direccion, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.Telefono, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EditorFor(model => model.Telefono, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Telefono, "", new { @class = "text-danger" }) </div> </div> <div class="form-group"> <div class="col-md-5 text-right"> @Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label" }) </div> <div class="col-md-7 text-right"> @Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } }) @Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" }) </div> </div> @*<div class="form-group"> <div class="col-md-offset-2 col-md-10"> <input type="submit" value="Guardar" class="btn btn-default" /> <input type="button" value="Cerrar" class="btn btn-default" /> </div> </div>*@ </div>
Lo que he intentado es esto, pero la verdad quiero hacerlo utilizando ajax.
Pedro Ávila
"El hombre sabio querrá estar siempre con quien sea mejor que él."
Lima - Perú- Editado Pedro Ávila jueves, 23 de febrero de 2017 21:24
Todas las respuestas
-
hola
para hacerlo con ajax deberias usar $.ajax de jquery
como se explica aqui
ASP.Net MVC: jQuery AJAX and JSON Example
lo que envias es un json con los datos al action del controller
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP viernes, 24 de febrero de 2017 19:09