none
Guardar registros desde un Partial View popup RRS feed

  • 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">&times;</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ú


    jueves, 23 de febrero de 2017 21:12

Todas las respuestas