2010-11-17 22 views
1

J'essaye de placer la valeur choisie d'un DropDownList qui se trouve dans le modèle d'édition d'un FormView. Chaque fois que je y accéder, je reçois l'erreur:Comment puis-je définir une DropDownList.SelectedValue ASP.NET lorsqu'elle est dans un modèle d'élément d'édition FormView?

Object reference doesn't exist

Je suis en train de le mettre de la manière suivante:

DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency"); 
ddl.SelectedValue = "blah blah"; 

Et comme aussi:

((DropDownList)FormView1.FindControl("ddlFrequency")).SelectedValue = "blah blah"; 

Comment puis-je mettre cette DropDownList.SelectedValue?

EDIT: Voici toute la méthode:

protected void btnEdit_Click(object sender, EventArgs e) 
{ 
    String frequency = ((Label)(FormView1.FindControl("lblFrequency"))).Text; 

    FormView1.ChangeMode(FormViewMode.Edit); 

    String selectedValue = "0"; 

    switch (frequency.ToLower()) 
    { 
     case "none": selectedValue = "0"; break; 
     case "daily": selectedValue = "1"; break; 
     case "weekly": selectedValue = "7"; break; 
     case "monthly": selectedValue = "28"; break; 
     case "bi-monthly": selectedValue = "56"; break; 
     case "quarterly": selectedValue = "84"; break; 
     case "semi-annually": selectedValue = "168"; break; 
     case "annually": selectedValue = "365"; break; 
     default: break; 
    } 

    DropDownList ddl = (DropDownList)FormView1.FindControl("ddlFrequency"); 
    ddl.SelectedValue = selectedValue; 
} 

Répondre

1

Eh bien le modèle d'édition doit être visible pour FindControl travailler. Vous devrez probablement utiliser l'événement OnModeChanged pour vérifier le mode d'édition, puis trouver le DropDownList.

+0

Avez-vous résolu ce problème? J'ai le même problème pas sûr de savoir où aller – Nita