web-dev-qa-db-fra.com

Comment définir par programme SelectedValue de Dropdownlist lorsqu'il est lié à XmlDataSource

J'utilise XmlDataSource comme datasource pour un dropdownlist.

Maintenant, je veux définir le SelectedValue de la liste déroulante lors du chargement initial de la page. J'ai essayé le OnDataBound event du menu déroulant dans lequel je pouvais voir le total des articles. Mais la définition de SelectedValue n'a pas fonctionné. Dans l'événement OnDataBinding, je ne pouvais même pas voir le nombre total d'éléments probablement parce que la liste n'est pas encore liée?

Comment puis-je définir l'index sélectionné en fonction d'une valeur?

23
MNIK

Cela semble fonctionner pour moi.

    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;
        }
    }
71
Aaron Anodide
DropDownList1.Items.FindByValue(stringValue).Selected = true; 

devrait marcher.

9
dpchimmili

C'est du code qui fonctionne

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"));
            }
        }
8
Atif Mahmood