Question

J'ai un formview sur ma page ASPX contenant différentes commandes disposées en utilisant le tableau. Il y a un « cboClients » DDL que je dois activer ou désactiver en fonction de rôle que dans le mode Edition.

Le problème est que je ne suis pas en mesure d'obtenir ce contrôle à l'aide FindControl () méthode.

J'ai essayé le code suivant -

     DropDownList ddl = null;
       if (FormView1.Row != null)
        {
            ddl = (DropDownList)FormView1.Row.FindControl("cboClients");
            ddl.Enabled=false;        
}

Même j'avé utilisé l'événement DataBound du même contrôle -

protected void cboClients_DataBound(object sender, EventArgs e)
    {
        if (FormView1.CurrentMode == FormViewMode.Edit)
        {
            if ((Session["RoleName"].ToString().Equals("Clients")) || (Session["RoleName"].ToString().Equals("Suppliers")))
            {
                DropDownList ddl = (DropDownList)sender;
                ddl.Enabled = false;
            }
        }
    }

Mais cet événement se produit qu'une seule fois databound, mais pas lorsque le mode formview est modifié.

Quelqu'un peut-il me fournir une solution appropriée?

Merci de partager votre temps.

Était-ce utile?

La solution

Essayez l'événement ModeChanged. http://msdn.microsoft. com / fr-fr / bibliothèque / system.web.ui.webcontrols.formview.modechanged.aspx

mise à jour ..

Essayer cette

DropDownList ddl = FormView1.FindControl("cboClients") as DropDownList;
if (ddl != null) {
  ddl.Enabled=false;        
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top