Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb MasterPage et page contenu

2 réponses
Avatar
Emilie
Bonjour



Je veux rendre visible ou invisible une table située sur une MasterPage, à
partir d'une page contenu

Le code ci-dessous (en VB) ne fonctionne pas, j'ai le message d'erreur :

La référence d'objet n'est pas définie à une instance d'un objet.

Sur la ligne : mpTable.Visible = True

Voici mon code (dans la page contenu )



Dim mpContentPlaceHolder As ContentPlaceHolder

mpContentPlaceHolder = _

CType(Master.FindControl("CphContenu"), _

ContentPlaceHolder)

Dim mpTable As Table

mpTable = CType(mpContentPlaceHolder. _

FindControl("TbRayons"), Table)

mpTable.Visible = True



Pouvez-vous me dire où est l'erreur



Merci pour votre aide

Amélie

2 réponses

Avatar
Bill2
Emilie wrote:


Dim mpContentPlaceHolder As ContentPlaceHolder

mpContentPlaceHolder = _

CType(Master.FindControl("CphContenu"), _

ContentPlaceHolder)

Dim mpTable As Table

mpTable = CType(mpContentPlaceHolder. _

FindControl("TbRayons"), Table)

mpTable.Visible = True





Si tu as une erreur "La référence d'objet n'est pas définie à une instance
d'un objet.", c'est que ton objet est vide.

visiblement, tu récupères ton obj avec un FindControl
Il fautdrait vérifier que ton objet n'est pas = à nothing
Si c'est le cas, alors le FindControl n'a pas trouvé ton control, tout
simplement.


il faudrait aussi vérifier que mpContentePlaceHolder est lui aussi <> de
nothing !
--
Bill2
Utilisez Process Manager, gestionnaire de processus automatique :
http://www.bill2-software.com/processmanager/
Avatar
Emilie
Bonjour

Merci pour ta réponse, en fait la table à rendre visible est sur la
masterpage dans une div
j'ai modifié mon code comme suit :
Dim mpTable As HtmlTable
mpTable = CType(Master.FindControl("TbRayons"), HtmlTable)
mpTable.Visible = True

Je n'ai plus de beug, mais la table ne s'affiche pas

Je n'y comprends plus rien
Emilie

"Bill2" a écrit dans le message de news:
%
Emilie wrote:


Dim mpContentPlaceHolder As ContentPlaceHolder

mpContentPlaceHolder = _

CType(Master.FindControl("CphContenu"), _

ContentPlaceHolder)

Dim mpTable As Table

mpTable = CType(mpContentPlaceHolder. _

FindControl("TbRayons"), Table)

mpTable.Visible = True





Si tu as une erreur "La référence d'objet n'est pas définie à une instance
d'un objet.", c'est que ton objet est vide.

visiblement, tu récupères ton obj avec un FindControl
Il fautdrait vérifier que ton objet n'est pas = à nothing
Si c'est le cas, alors le FindControl n'a pas trouvé ton control, tout
simplement.


il faudrait aussi vérifier que mpContentePlaceHolder est lui aussi <> de
nothing !
--
Bill2
Utilisez Process Manager, gestionnaire de processus automatique :
http://www.bill2-software.com/processmanager/