none
Pasar valor de backend a frontend MVC ASP.NET RRS feed

  • Pregunta

  • Saludos,

    Les explico mi problema, tengo un texbox :

       @Html.TextBox("dato", null, new { id = "txtSearch"})

    y tengo una función en jquery que me permite autocompletar este texbox, basicamente fuciona como un like de sql y en está llamo a un action llamado GetLista :

    <script type="text/javascript">
        $(function () {
            $("#txtSearch").autocomplete({
                source: '@Url.Action("GetLista")'
            });
        });
    </script>

    Ese action es este:

     public ActionResult GetLista(string term)
            {
    
                ZIPCODEModel ZidModel = new ZIPCODEModel();
                List<string> list = new List<string>();
                List<ZIPCODEModel> ZidCode = ZIPCODERepository.Select(ZidModel);
    
                list = ZIPCODERepository.Select(ZidModel).Where(x => x.P_ZIP_CODE_ID.ToLower().Contains(term.ToLower())).Select(y => y.P_ZIP_CODE_ID).ToList();
           
                    
                foreach (var value in ZidCode)
                {
                    if (list.Contains(term))
                    {
                        return RedirectToAction("BusinessAdd");
                    }
                }
    
              return Json(list, JsonRequestBehavior.AllowGet);
            }

    Y lo que hace este action es recibir el parametro que se le pasa en el texbox antes descrito más arriba y este devuelve una lista ya con todos sus datos llamada "list" luego hago un foreach y pregunto si el parametro que me pasaron es igual al que tiene la lista, si es true lo que quiero es asignarle este varlor :

    var valor = "prueba";

    a un EditorFor que tento en mi view es este:

     @Html.EditorFor(model => model.F_ZIP_CODE.F_CITY.STATE, new { htmlAttributes = new { @class = "form-control" } })

    Me gustaria su gran ayuda, utilizo C#, MVC 4.


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    miércoles, 17 de agosto de 2016 12:59

Respuestas

  • hola

    >>como hago si recupero un valor de la lista he intento pasarsela a un editorfor con ajax o cualquier tecnologia, lo que hago arriba es que paso un codigo y hago el autocomplet si existe en la lista quiero devolver un valor

    la verdad no entendi lo que planteas

    el usuario selecciona de la lista desplegable del autocomplete un valor listado que se aproxima a lo escrito

    en el autocomplete deberias tener un evento que se lance ante esta seleccion y es alli donde tomas el valor y lo asignarias a otro control si es que lo necesitas

    autocomplete change

    debes revisar la documentacion de la libreria para aprender a usarla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta J. Joaquin lunes, 5 de septiembre de 2016 1:54
    miércoles, 17 de agosto de 2016 15:46

Todas las respuestas

  • hola

    si la idea es devolver un json para el autocomplete no me parece correcto que este realizando un RedirectToAction

    ||hago un foreach y pregunto si el parametro que me pasaron es igual al que tiene la lista, si es true lo que quiero es asignarle este varlor

    pero eso no lo haces tu, eso se encarga el autocomplete en el codigo cliente

    se supone que tu solo devuelvas al lista de items en donde tenga en su texto parte de lo ingresado, el autocomplete listara las coincidencias que envies en el json y sera el usuario quien seleccionara

    ese foreach esta de mas

    si quieres realizar una busqueda con al seleccion seria otro action diferente el que debes invocar y no el mismo que usas para listar las coincidencias cuando se escribe en el textbox

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 17 de agosto de 2016 13:39
  • Saludos Leandro,

    Gracias por responder, sí entiendo la parte de que no debo de devolver el view si estoy utilizando json ya he corregido esa parte, ahora como hago si recupero un valor de la lista he intento pasarsela a un editorfor con ajax o cualquier tecnologia, lo que hago arriba es que paso un codigo y hago el autocomplet si existe en la lista quiero devolver un valor y que lo reciba el :

    @Html.EditorFor(model => model.F_ZIP_CODE.F_CITY.STATE, new { htmlAttributes = new { @class = "form-control" } })


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    miércoles, 17 de agosto de 2016 14:04
  • hola

    >>como hago si recupero un valor de la lista he intento pasarsela a un editorfor con ajax o cualquier tecnologia, lo que hago arriba es que paso un codigo y hago el autocomplet si existe en la lista quiero devolver un valor

    la verdad no entendi lo que planteas

    el usuario selecciona de la lista desplegable del autocomplete un valor listado que se aproxima a lo escrito

    en el autocomplete deberias tener un evento que se lance ante esta seleccion y es alli donde tomas el valor y lo asignarias a otro control si es que lo necesitas

    autocomplete change

    debes revisar la documentacion de la libreria para aprender a usarla

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta J. Joaquin lunes, 5 de septiembre de 2016 1:54
    miércoles, 17 de agosto de 2016 15:46