asp.net - Cómo establecer de forma programada SelectedValue of Dropdownlist cuando está enlazado a XmlDataSource
drop-down-menu (4)
Estoy usando XmlDataSource
como la XmlDataSource
datasource
para una dropdownlist
.
Ahora quiero establecer el valor SelectedValue
de la lista desplegable cuando la página se carga inicialmente. He intentado el OnDataBound event
del menú desplegable en el que pude ver el total de elementos. Pero la configuración del valor SelectedValue
no funcionó. En el evento OnDataBinding
, ni siquiera pude ver el total de elementos probablemente porque la lista aún no está vinculada.
¿Cómo puedo configurar el índice seleccionado en base a un valor?
¿Has intentado, después de llamar a DataBind en tu DropDownList, hacer algo como ddl.SelectedIndex = 0?
Este es el código de trabajo
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DropDownList1.DataTextField = "user_name";
DropDownList1.DataValueField = "user_id";
DropDownList1.DataSource = getData();// get the data into the list you can set it
DropDownList1.DataBind();
DropDownList1.SelectedIndex = DropDownList1.Items.IndexOf(DropDownList1.Items.FindByText("your default selected text"));
}
}
Esto parece funcionar para mí.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DropDownList1.DataBind(); // get the data into the list you can set it
DropDownList1.Items.FindByValue("SOMECREDITPROBLEMS").Selected = true;
}
}
DropDownList1.Items.FindByValue(stringValue).Selected = true;
Deberia trabajar.