none
Como recuperar el valor de una vista parcial ? RRS feed

  • Pregunta

  • INICIANDO EN MVC
    Hola podrian ayudarme con esto, Tengo una vista parcial que necesito usar como buscador (hay varios campos con los cuales se forma la consulta y la muestro como dialog), cuando encuentro el valor que necesito (cierro el dialog) quiero que este pase a la vista padre.

    Estoy haciendo un modulo para agregar un nuevo registro a la base de datos pero uno de los campos tiene que buscarse dependiendo de varios criterios por eso pense en la vista parcial para poner las condiciones y regresar los datos en un grid en el cual seleccionaran el que se busca.

    En la vista padre tengo un @Html.EditorFor(model => model.objetivo, new { id = "objetivo" })     

    En la vista parcial <input type="text" id="objetivoencontrado" />

    @Ajax.ActionLink("Open popup", "SomeAction", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess = "openPopup" })  

     <div id="result" style="display:none;"></div>

    Esta es la funcion para abrirlo y le paso el valor de la vista padre a la vista parcial:

    function openPopup() {
                    $("#result").dialog("open");
                    $(objetivoencontrado).val($(objetivo).val());
                    }

    NOTA : Intente hacerlo de manera inversa  pero no funciona:

     $(document).ready(function () {
                    $("#result").dialog({
                        autoOpen: false,
                        title: 'Buscar Objetivo',
                        width: 500,
                        height: 'auto',
                        modal: true
                       , dialogClass: "no-close"
                       , buttons: [{ text: "Ok", click: function () {
                             $(this).dialog("close");}
                         }]
                    });
                });


    M Olvera

    miércoles, 3 de julio de 2013 21:47

Respuestas

Todas las respuestas

  • hola

    podrias usar algo como ser

            $(document).ready(function () {
                    $("#result").dialog({
                        autoOpen: false,
                        title: 'Buscar Objetivo',
                        width: 500,
                        height: 'auto',
                        modal: true,
                       dialogClass: "no-close",

                          open: function (event, ui) {

                               $(this).load('@Url.Action("NombreAction")');

                           },

                       buttons: [{ text: "Ok", click: function () {
                             $(this).dialog("close");}
                         }]
                    });
                });

    con esto podrias invocar un action que devuelve un PartialView y se cargue en el popup

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 5 de julio de 2013 13:15
  • Gracias Leandro pero si puedo llenar la vista parcial, lo que no se como hacer es recuperar el valor seleccionado en la vista parcial para llevarlo a la vista principal .

    Saludos


    M Olvera

    viernes, 5 de julio de 2013 15:43
  • hola

    pero esto lo tienes que realizar todo con codigo javascript (o jquery)

    [ASP.NET] PopUp Filtro – Usando jquery UI Dialog

    esto no es mvc pero la tecnica es la misma, usas codigo cliente

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    viernes, 5 de julio de 2013 19:55
  • Ok, le hechare una revisada al articulo Gracias

    M Olvera

    lunes, 8 de julio de 2013 19:58
  • Hola amigo, lo resolviste? agradecería que puedas explicar como lo realizaste?

    Estoy en el mismo dilema.

    gracias


    ie

    domingo, 24 de abril de 2016 14:14