Как программно установить SelectedValue Dropdownlist, когда он привязан к XmlDataSource - PullRequest
23 голосов
/ 25 февраля 2011

Я использую XmlDataSource в качестве datasource для dropdownlist.

Теперь я хочу установить SelectedValue раскрывающегося списка при начальной загрузке страницы.Я попробовал OnDataBound event раскрывающегося списка, в котором я мог видеть общее количество предметов.Но установка SelectedValue не сработала.В событии OnDataBinding я даже не смог увидеть общее количество элементов, вероятно, потому что список еще не ограничен?

Как я могу установить выбранный индекс на основе значения?

Ответы [ 4 ]

70 голосов
/ 09 июня 2011

Мне кажется, это работает.

    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;
        }
    }
9 голосов
/ 01 ноября 2012
DropDownList1.Items.FindByValue(stringValue).Selected = true; 

должно работать.

8 голосов
/ 12 февраля 2012

Это рабочий код

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"));
            }
        }
0 голосов
/ 26 февраля 2011

Пробовали ли вы после вызова DataBind для вашего DropDownList сделать что-то вроде ddl.SelectedIndex = 0?

...