none
Enviar y recibir datos asp.net C# y jquery RRS feed

  • Pregunta

  • que tal estoy tratando de enviar unos datos por jquery a un web method y despues ejecute un store y me regrese el campo de el filtro del store al jquery. no he podido hacerlo si alguien me puede ayudar porfavor.

    function ConsultaPromocion(intIdLlanta, IdSuc, Cantidad) {
        var Cantidad;
        var precio = document.getElementById('hdnPromocion');
        $(".cssNombreSer").each(function (i, val) {
            var esLlanta = $($(val).parent().children()[1]).children().is("img")
            if (esLlanta) {
                Cantidad = $(val).parent().children().find(".cssCantidad").val();
            }
        });
            var pdata = { "IdItem": intIdLlanta, "IdSuc": IdSuc, "cantidad": Cantidad}
            $.ajax({
    
                error: function (msg) {
                    //alert(msg);
                },
                type: "POST",
                url: "Cotizador.aspx/GetCalcularPromo",
                data: JSON.stringify(pdata),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (Datos) {   
                    var precios = Datos;
                },
                    
                    failure: function (rsponse) {
                        alert(rsponse.d);
                    }
            });
        }

    Este es el codigo del jquery

    [System.Web.Services.WebMethod]
        public string GetCalcularPromo(string IdItem, string IdSuc, string cantidad)
        {
            try
            {
                string precio = "";
                SqlConnection SConn = new SqlConnection(ConfigurationManager.ConnectionStrings["Base"].ConnectionString);
                SqlCommand cmd = new SqlCommand("GetConsultarPromocion", SConn);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.Add(new SqlParameter("@MSPN", IdItem));
                cmd.Parameters.Add(new SqlParameter("@DisID", IdSuc));
                cmd.Parameters.Add(new SqlParameter("@cantidad", cantidad));
                DataTable dt = new DataTable();
    
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                da.Fill(dt);
    
                if (dt.Rows.Count > 0)
                {
                    DataRow drPromo = dt.Rows[0];
                    foreach (DataRow dr in dt.Rows)
                    {
                        if (dr["MSPN"].ToString() == drPromo["MSPN"].ToString())
                        {
                            precio = drPromo["valor"].ToString();
                            hdnPromocion.Value = precio;
                            
                        }
                    }
                }
                return precio;
            }

    y este es el del web method 

    ayuda 


    jueves, 26 de mayo de 2016 16:23

Respuestas

  • con jquery podrias usar

    var promocion = $("#hdnPromocion").val();


    entiendo es un hidden de html, o sea no es un control asp.net asp:Hidden, porque sino cambia la seleccion

    var promocion = $("#<%=hdnPromocion.ClientID%>").val();


    ese valor es el que asignas a

    var pdata = { "IdItem": intIdLlanta, "IdSuc": IdSuc, "cantidad": Cantidad}

    para que lo reciba el webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 26 de mayo de 2016 18:08

Todas las respuestas

  • hols

    define el webmethod como static

     public static string GetCalcularPromo(string IdItem, string IdSuc, string cantidad) ...


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 26 de mayo de 2016 17:08
  • Hola que tal ya se lo puse pero ahora el problema es que el hidden 

    hdnPromocion.Value = precio;

     que declare en el html no me lo reconoce y ahi es donde quiero pasar el dato del store al jquery.

    Lo que quiero hacer es pasar la variable precio al jquery.

    jueves, 26 de mayo de 2016 17:13
  • con jquery podrias usar

    var promocion = $("#hdnPromocion").val();


    entiendo es un hidden de html, o sea no es un control asp.net asp:Hidden, porque sino cambia la seleccion

    var promocion = $("#<%=hdnPromocion.ClientID%>").val();


    ese valor es el que asignas a

    var pdata = { "IdItem": intIdLlanta, "IdSuc": IdSuc, "cantidad": Cantidad}

    para que lo reciba el webmethod

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    jueves, 26 de mayo de 2016 18:08
  • perdon por abrir una nueva pregunta lo lamento mucho.

    estos valores los tomo de la url de la pagina y van como parametros para el store, entonces hay otra forma de pasar la variable al jquery sin usar el hidden o no ?

    var pdata = { "IdItem": intIdLlanta, "IdSuc": IdSuc, "cantidad": Cantidad}

    jueves, 26 de mayo de 2016 18:48