How to programmatically set SelectedValue of Dropdownlist when it is bound to XmlDataSource
Я использую XmlDataSource
как datasource
для dropdownlist
,
Теперь я хочу установить SelectedValue
of the drop down when the page initially loads. Я попробовал OnDataBound event
of the drop down in which I could see the total items. Но настройка SelectedValue
не работал ВOnDataBinding
event, I couldn't even see the total items probably because the list isn't bound yet?
How can I set the selected index based on a value?
4 ответа
Кажется, это работает для меня.
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;
должно сработать.
Это рабочий код
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"));
}
}
Пытались ли вы после вызова DataBind в вашем DropDownList сделать что-то вроде ddl.SelectedIndex = 0?