(TextBox)FormView.FindControl("TextBoxEdit") trouve pas control

Signaler
-
 Khaci -
Bonjour,
j'ai un soucis qui me pose problème depuis une semaine, et j'ai beau regarder sur le net, je ne trouve pas la solution. J'ai des Textbox dans mes formView ca donne
TextBox Equip = new TextBox();
NumEquip= (TextBox)FormViewEquipement.FindControl("TextBoxEquipEdit");
Equip.Text = Equip.Numero;
et quand je genere ca me retourne une NullReferenceException alors mes controls existe. je ne sais pas si je me fais comprendre mais j'ai besoin d'aide

2 réponses

Messages postés
14940
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 janvier 2021
93
Hello,
Tu as une NullReference sur quoi? Je ne suis pas expert C# mais je note 2 bizarreries.
Dans ton code:
- NumEquip n'est pas utilisé
- Equip.Numero ne me semble pas existé, à moins que tu aies redéfini la classe TextBox.
TextBox Equip = new TextBox();
Equip= (TextBox)FormViewEquipement.FindControl("TextBoxEquipEdit");
Equip.Text = Equip.Numero;
C'est normalement ca. le null reference apparait a ce niveau "Equip.Text = Equip.Numero;"
Messages postés
14940
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 janvier 2021
93
Sauf erreur de ma part, un objet de type TextBox n'a pas d'attribut Numero...
En passant, ta 1ère ligne ne sert pas.
Equipement Equip = new Equipement();
Equip.Numero = VariablesGlobales.MyNumeroSelected;

if (Equip.Rechercher(ref MyMessage))
{
FormViewEquipement.ChangeMode(FormViewMode.Edit);

TextBox NumEquip = new TextBox();
NumEquip = ((TextBox)FormViewEquipement.FindControl("TextBoxNumEquipEdit"));
NumEquip.Text = Equip.Numero;
...........
Voila un peu la partie du code Numero c trouve dans les propriete de ma table Equipement
Messages postés
14940
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
19 janvier 2021
93
Allégeons un peu:
TextBox NumEquip = (TextBox)FormViewEquipement.FindControl("TextBoxNumEquipEdit"); 
NumEquip.Text = Equip.Numero; 

Ici, es-tu sûr que ton composant porte bien l'id "TextBoxNumEquipEdit"? Vérifie ta hiérarchie de composants.
Mon composant porte bien le nom de "TextBoxNumEquipEdit". j'ai allege mais sa me retourne

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

TextBox NumEquip = new TextBox();
NumEquip = (TextBox)FormViewEquipement.FindControl("TextBoxNumEquipEdit");
NumEquip.Text = Equip.Numero;