Afficher un control avec conditions

Résolu
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 7 août 2007 à 17:16
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 - 8 août 2007 à 12:00
Salut a tous

je voulais savoir s'il etait possible d'afficher ou d'occulter des controls directement dans la page aspx

un truc du genre

if(condition)
   
else
   

merci

12 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2007 à 11:43
il y a peut etre un autre événement que itemcreated, itemdatabound ? meme si itemcreated me semble plus logique ... :)

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
3
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
8 août 2007 à 12:00
et ben en fait il faut passer par l'evenement itemdatabound pour avoir accès au control de l'item

et ca marche tres tres bien

En tout cas un grand merci a toi cyril

PS: juste une autre petite question. Lorsque j'affiche 1 seul element dans mon ReorderList le CollapsidePanel fonctionne tres bien. Mias lorsque j'en ai 2(ou +) je n'arrive plus a ouvrir le panel. Est ce que c'est du au fait que tout mes CollapsidePanel qui seront créés porte le meme nom?????
3
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008
7 août 2007 à 18:32
<%
if(condition)
{
%>
   
<%
}
else
{
%>
   
<%
}
%>
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
7 août 2007 à 19:20
beurk !!! c'est le meilleur moyen pour avoir des problèmes de viewstate & co


dans le page_load

lbl.Visible = condition;
textbox1.Visible = !condition;





<hr />
Cyril - MSP - MCPD ASP.net & MCTS SQL
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_dawinch Messages postés 27 Date d'inscription lundi 2 mai 2005 Statut Membre Dernière intervention 3 janvier 2008
7 août 2007 à 19:40
on est d'accord mais dans certains cas, quand on est coincé, ça peut dépanner...
et puis je viens du php ...
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
8 août 2007 à 10:09
salut

merci pour vos réponses

Cyril : En fait ta méthode est la meilleure mais je pense que je ne peux pas l'utiliser(enfin je ne suis pas sur)
Je t'expose mon problème. J'utilise un control "REORDERLIST" qui est databindé à une source sqlserver.
Dans chaque ITEM de mon REORDERLIST j'ai un COLLAPSIDEPANEL afin d'afficher ou de masquer les details de chaque ITEM.
Mon problème est que en fonction de l'ITEM je souhaite afficher soit une image soit du texte. J'espere avoir été clair voici mon code pour plus de précision





<hr />


               



               
                    <ContentTemplate>
               
                    
               
                       
                   
                   
                   
               
                                 
                
                
                
                <cc1:ReorderList ID= "ReorderList1" runat="server" DataKeyField="SpotID"
                 DataSourceID="objSpot" DragHandleAlignment="left" SortOrderField="Ordre" AllowReorder="true">
                
                
                     ' />
                     ' />
                    

                       
                           

                               
What is ASP.NET AJAX?

                               

                                    (Show Details...)
                               

                               

                                   
                               

                           

                       

<------------------c'est ici que se trouve le probleme
                       
                           

                           
                   if(condition)
                               
                  else

                                dfgsdfgsdfgsdfgsdfgsdfg
                           

                       

--------------------------------->

                   




                    <cc1:CollapsiblePanelExtender ID ="cpeDemo" runat="Server"
                        TargetControlID="Panel1"
                        ExpandControlID="Panel2"
                        CollapseControlID="Panel2"
                        Collapsed="True"
                        TextLabelID="Label1"
                        ImageControlID="Image1"   
                        ExpandedText="(Hide Details...)"
                        CollapsedText="(Show Details...)"
                        ExpandedImage="~/images/collapse_blue.jpg"
                        CollapsedImage="~/images/expand_blue.jpg"
                        SuppressPostBack="true"
                        SkinID="CollapsiblePanelDemo" />
                
                
                   
                
                
                </cc1:ReorderList>
                    </ContentTemplate>
               
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2007 à 10:40
ou est le problème ?

tu t'abonnes à l'event itemcreated du reorderlist puis tu fais un e.item.findControl("image2").Visible= condition;

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
8 août 2007 à 11:05
en faisait ça :

e.Item.FindControl("image2").Visible = false;

j'obtiens l'erreur suivante :

La référence d'objet n'est pas définie à une instance d'un objet.
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2007 à 11:14
Je connais pas le reorderlist (enfin pas par coeur comme le repeater :p) l'évenement itemcreated est declenché pour chaque item, peut etre qu'il y a des items "header" dans ce cas si c'est comme le repeater tu trouveras une variable e.Item.ItemType, il faut d'abord faire un test dessus pour vérifier que tu es bien sur un item et pas un header. Sinon le plus simple est de regarder en debug ce qui se trouve dans e.item

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
8 août 2007 à 11:20
j'ai essayer de faire ca

bool test = e.Item.HasControl();

il me renvoi false
0
gldfdp Messages postés 90 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 21 février 2008
8 août 2007 à 11:27
Regarde quel est le type de e.Item quand test est faux.
0
yanis7518 Messages postés 283 Date d'inscription mercredi 7 décembre 2005 Statut Membre Dernière intervention 9 juillet 2010 3
8 août 2007 à 11:37
le type de e.item est "item".

Cyril : j'ai regarder ce qui se trouve dans le e.item et ca donne ca 

               - DataItem
               - DataItemindex
               - DisplayIndex
               - IsAddItem
               - ItemIndex
               - ItemType

il y a aussi un System.web.UI.Controls mais il m'indique qu'il n'y a aucun control (count = 0)
0
Rejoignez-nous