Llenar un DropDownList de ASP.Net con AJAX JQuery

Primeramente creamos la funciona que llenara el DropDownList:

En este caso le estamos enviado dos variables concatenadas en “MiValor_”. En el código de servidor recuperamos esas variables.

function PoblarDropDown($VariableUno, $VariableDos) {
var valor = $VariableUno+ "|" + $VariableDos;
$.ajax({
type: "POST",
url: "nombre_pagina.aspx/NombreMetodoCodigoServidor",
data: "{MiValor_: '" + valor + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {

// Agregamos un item al DropDownList
$("#ctl00_ContentPlaceHolder1_NombreDropDownList).empty().append($("<option></option>").val("0").html(":.Seleccione.:"));
$.each(data.d, function (key, value) {
var option = $(document.createElement('option'));
option.html(value.NombreLista);
option.val(value.Id);
//Nombre de DropDown a poblar
$("#ctl00_ContentPlaceHolder1_PivotTable1_NombreDropDownList).append(option);
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
$("#LabelMSG").text(textStatus + ": " + XMLHttpRequest.responseText);
}
});
}

Sección del código oculto “nombre_pagina.aspx.cs”

[WebMethod()]
public static CamposDropDown[] NombreMetodoCodigoServidor(string MiValor_)
{
string CadenaCampos;
CadenaCampos = MiValor_;
string[] CantidadCampos = CadenaCampos.Split(‘|’); // Separamos las variables en un arreglo.
// En este caso los datos los recupero desde un Stored Procedure SQL Server
string Coneccion = “Mi Coneccion”;
string NombreSP = “[dbo].[PA_Reportes_V1]”;

using (SqlConnection cn = new SqlConnection(Conexion))
{
using (SqlCommand cmd = new SqlCommand(NombreSP))
{
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
cn.Open();
cmd.Parameters.AddWithValue(@VAR1, NombreSP);
cmd.Parameters.AddWithValue(@VAR2, CantidadCampos[0].ToString);
cmd.Parameters.AddWithValue(@VAR3, CantidadCampos[1].ToString);

using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
da.Fill(dt);
List<CamposDropDown> details = new List<CamposDropDown>();

foreach (System.Data.DataRow dtRow in dt.Rows)
{
CamposDropDown Listado = new CamposDropDown();
Listado.Id = dtRow[“ID”].ToString();
Listado.NombreLista = dtRow[“LISTA”].ToString();
details.Add(Listado);
}
return details.ToArray();

}

}

}

}

public class CamposDropDown
{
public string Id { get; set; }
public string NombreLista { get; set; }
}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s