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?

Другие вопросы по тегам