none
Como buscar datos con ajax jQuery? RRS feed

  • Pregunta

  • Hola!

    De ante mano agradecería que me puedan ayudar en lo siguiente:

    Tengo una WebGrid la cual se carga desde base de datos con los datos de todas las películas, lo que necesito hacer es buscar una película en la grilla (textbox) y que al presionar el botón buscar refresque la grilla con los datos encontrados esto mediante ajax-jquery, dejo una imagen y el código que llevo hasta el momento;

    imagen:

    Código:

    <script type="text/javascript">
            $(function () {
                $("button").button().click(function (event) {
    
                   // alert($('#searchMovie').val());
                    $.ajax({
                        type: "GET",
                        url: "Movie/SearchMovie/" + $('#searchMovie').val(),
                        dataType: "json",
                        success: function (data) {
                            //hacer algo con la información pj.
                            $('#NombreEmpleado').val(data.Nombre);
                        }
                    });
                });
            });
        </script>


    Action:

            [HttpGet]
            public ViewResult SearchMovie(string name)
            {
                var oMovie = from movie in db.Movie select movie;
                //Que tipo de datos se pueden enviar para cagar el webgrid, webgrid acepta json??
                return View(oMovie.ToList());//cambiar!
            }

    Observaciones:

    - Al momento de debugear no llega ningun parametro a la variablename

    - Que tipo de datos puede enviar el controlador a la vista, el webgrid puede aceptar json?

    (ASP.NET MVC 3, Razor, Visual web developer 2010,ajax jquery)

    Saludos!


    Mauricio Hernández A.

    viernes, 13 de septiembre de 2013 16:13

Todas las respuestas

  • Para realizar esa operación es necesario retornar una vista parcial que contenga el grid con los datos actualizados, pues, con Ajax es completamente imposible actualizar el modelo y luego el grid en la misma página, en el codigo jquery debes cambiar "dataType" a "html" y reemplazar el div con el data correspondiente, jquery se hace con "replaceWith()" Saludos
    sábado, 14 de septiembre de 2013 12:02
  • hola no seria mejor usar

    <script type="text/javascript">
    	$(function () {
    		$("#idBotonSearch").click(function (event) {
    
    		    var params = new Object();
    			params.name = $('#searchMovie').val();
    			
    			$.ajax({
    				type: "GET",
    				url: @Url.Action("SearchMovie",, "Movie"),
    				data: JSON.stringify(params),
    				dataType: "json",
    				success: function (data) {
    					//hacer algo con la información pj.
    					$('#NombreEmpleado').val(data.Nombre);
    				}
    			});
    		});
    	});
    </script>


    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    sábado, 14 de septiembre de 2013 12:02