Accueil > Forum > > > > Contrôle disparu du panel...
Contrôle disparu du panel...
dimanche 16 octobre 2005 à 15:11:16 |
Contrôle disparu du panel...

DevilYann
|
Bonjour
Dans le cadre de mon boulot, je dois afficher des pages avec des champs soit en visualisation (labels) soit en saisie (textboxs) suivant les droits de l'utilisateur.
J'ai donc décidé dans le init() de la page de mettre soit un textbox soit un label dans un panel (présent en design).
Maheureusement quand je clique sur le bouton enregistrer de ma page, le panel ne contient aucun contrôle...
Comment résoudre ce casse tête ???...
Svp svp...
Merci
|
|
dimanche 16 octobre 2005 à 15:14:19 |
Re : Contrôle disparu du panel...

DevilYann
|
Je précise que j'avais 2 autres solutions :
- soit faire 2 pages différentes, une en visu, l'autre en saisie (g laissé tomber car si modif il y a à faire, faut la multiplir par 2)
- soit mettre un textbox et un label et rendre invisible l'un des deux suivant les droits (pas terrible car alourdit le poids de la page)
De plus j'ai une page qui contient environ 50 champs en modifs donc c pour ça que j'avais choisi la solution citée plus haut.
Donc je voulais savoir si qqun a eu ce genre de problème à mettre en place car je ne dois pas être le premier.
|
|
dimanche 16 octobre 2005 à 15:29:32 |
Re : Contrôle disparu du panel...

jesusonline
|
On peut voir le code ? car la je peux pas t'aider. Sinon une troisieme solution aurait été de faire un CustomControl dérivant de textbox, et suivant les droits tu overrides le render pour n'afficher que le texte ou tu laisses pour mettre un textbox. En gros : public class superTextbox inherits System.web.ui.textbox private _isAdmin as boolean = false public property isAdmin as boolean ' get et set à faire overrides sub render(html as htmltextrender) ' ou un truc du genre if _isAdmin html.write(this.text) else mybase.render(html) end if end sub end class Puis t'as plus qu'a mettre tes superTextbox dans la page :) aprés je sais pas ce que ca donne pour le viewstate & co, je te donne l'idée aprés il faudra ajuster.
Cyril - MVS - MCP ASP
|
|
dimanche 16 octobre 2005 à 15:54:12 |
Re : Contrôle disparu du panel...

DevilYann
|
Je vais avoir du mal à te donner le code vu que je ne suis pas au boulot aujourd'hui et que je n'ai pas VS... ;o)
Sinon ct un truc du genre (désolé pour les erreurs...) :
public sub MyPage_Load()
{
if(_IsAdmin)
{
// Ajout d'un Textbox
TextBox txt = new TextBox();
txt.Attributes.Add(...); // je rajoute tout ce qui me faut ici (évènements, propriétés etc...)
mypanel.Controls.Add(txt);
}
else
{
// Ajout d'un Label
Label lbl = new Label();
lbl.Attributes.Add(...);
mypanel.Controls.Add(lbl);
}
}
private sub MonBoutonClick()
{
string valeur = ((textbox)mypanel.Controls[0]).Value;
// Et c là que mypanel ne contient aucun contrôles car on est repassé côté serveur... alors que côté client y a bien un textbox
}
|
|
dimanche 16 octobre 2005 à 15:55:13 |
Re : Contrôle disparu du panel...

DevilYann
|
Tu peux essayer de m'expliquer un peu plus ton idée car je ne la comprends pas forcément.
En tout cas merci de la rapidité de ta réponse (comme d'habitude d'ailleurs...) ;o)
|
|
dimanche 16 octobre 2005 à 16:06:14 |
Re : Contrôle disparu du panel...

jesusonline
|
Comment vivre sans Visual Studio :-| heureusement que notepad est installé par défaut ;) Sinon pour le problème je pense que c'est du au fait que tu le rajoutes dans le page_load au lieu du page_init ... mais d'abord pourquoi tu met des textbox1.attributes.Add ? il va aussi faloir que tu mette un ID unique (vu que t'as plusieurs controles) donc textbox1.id = "textbox" & i.tostring() avec i un compteur dans une boucle ou autre Ensuite pour ma solution, as tu deja fait des custom controls ? en gros dans ce cas il faudrais qu'au lieu d'avoir <asp:textbox ==> ca t'affiche une textbox il faudrais quelque chose qui t'affiche un textbox ou label donc créer son propre control <cyril:superTextbox ==> ca fera ce que tu veux. Pour faire ca, il faut créer un nouveau controle en dérivant de System.Web.UI.textbox ... mais avant de t'expliquer ce genre de choses, il faudrais que je sache si tu as deja fait ca ? :)
Cyril - MVS - MCP ASP
|
|
dimanche 16 octobre 2005 à 16:33:06 |
Re : Contrôle disparu du panel...

DevilYann
|
Alors, pour ce qui est de l'absence de VS, au boulot je l'ai, pas à la maison car je ne programme pas en dehors du boulot... ;o)
Sinon "attributes.add" me sert pour rajouter des évènemens côté client et d'autres propriétés qui ne sont pas présentes quand tu tapes "textbox1.". Mais c du pareil au même, c déjà testé.
L'ID ne sert à rien. Car je met un seul contrôle par panel. Donc connaissant le nom du panel, je peux récupérer la valeur avec "((textbox)mypanel.Controls[0]).Value;".
En plus quand je met un ID (textbox1.ID = "Numéro"), du côté client l'ID n'a pas été attribué (ID = "_ctrl8 par exemple) mais ca c un autre problème...
Puis j'avais déjà essayé de mettre le code dans le init() et le load(), ca fait le même problème...
Et pour répondre à ta dernière question, oui g déjà fait des Custom Control donc tu peux m'expliquer sans problème ;o).
G un collègue qui m'a dit kil avait essayé le CustomControl (il avait le même cas que moi, soit saisie, soit modif) et il a laissé tombé car il avait eu trop de poblèmes et c trop long à mettre en place. Et le gros problème c kon me presse pour réaliser le projet et il ne me reste plus beaucoup de temps...
En plus g déjà fait pas mal de pages pour ce projet (environ 100 contrôles sont concernés) donc si je pouvais faire marcher ma solution, ca serait cool...
Merci de m'aider en tout cas.
|
|
dimanche 16 octobre 2005 à 16:46:42 |
Re : Contrôle disparu du panel...

jesusonline
|
Pour résumer : t'as une page classique avec un panel et dedans un seul label. et en bas de la page un bouton enregistrer Ensuite dans le page_init tu veux que si l'utilisateur est admin, alors ce n'est pas un label mais un textbox à la place du label. Le problème est que sur le click du bouton, ca plante ?
Cyril - MVS - MCP ASP
|
|
dimanche 16 octobre 2005 à 17:03:43 |
Re : Contrôle disparu du panel...

DevilYann
|
Pour résumer : g un panel qui contient soit un label soit un textbox.
Cette association est réalisée dans le Init() (ou le Load()) de la page.
Ca ca marche, l'un ou l'autre s'affiche. L'utilisateur saisit les données dans le cas du textbox sans problème.
Le problème, sur le click du bouton (donc retour vers le serveur), la panel ne contient plus aucun contrôle. Donc pas moyen de récupérer la valeur saisie.
|
|
dimanche 16 octobre 2005 à 17:06:21 |
Re : Contrôle disparu du panel...

DevilYann
|
Je précise que si en design on met un textbox dans un panel, on arrive à récupérer la valeur.
Mais dans la cas où c fait dynamiquement, là je sèche...
|
|
Cette discussion est classée dans : page, contrôle, panel, disparu
Répondre à ce message
Sujets en rapport avec ce message
[ASPX][VB.NET]Custom Contrôle et rendu sur la page aspx [ par chrisisis ]
Bonjour, J'ai créer un contrôle personnalisé qui hérite de webControl (C'est un contrôle dépendant basé sur un modèle) J'ai réécrit, entre autre, les
recharger toute la page lors de la confirmation d'un contrôle utlisateur.... [ par lutin2004 ]
Comment fait-on pour recharger toute la page lors de confirmation d'un formulaire contenu par un contrôle utilisateur?Merci d'avance
[C#] Accès au HEAD de la page [ par stailer ]
Bonjour, Je suis en train de faire plusieurs contrôles serveurs en asp.net et la plupart ont besoin d'un fichier javascript externe pour fonctionner
impression d'un panel apartir d'une page aspx [ par swiniya ]
Hello everybody!!je veux imprimer un panel apartir d'une page aspx mais je sais pas comment faire?!!aidez moi svp!!
Redimensionner un panel [ par drahcir ]
Salut à tous,je voudrais savoir s'il est possible de redimensionner un panel dans une page en web. Je m'explique, j'ai un panel dans ma page, et je so
Problème de findcontrol [ par shawn ]
Bonjour, Voici mon problème J'ai un gridview dans ma page. Dans ce gridview j'ai une templatecolumn dans laquelle j'ai un control radiobutton.
Erreur lors de la création d'un contrôle [ par scortex84 ]
Bonjour, j'ai un problème assez technique et tout aussi bizzarre. Je bosse avec un pote sur le développement d'un site en ASP.NET (VS 2003, Framewor
[ASP 2.0] contrôle utilisateur et page_load [ par mcl75 ]
Un peu novice sur ASP j'ai un souci dont je ne vois nulle part la solution :On a créé une page principale sur laquelle on a deux boutons pour choisirl
[C#] Acceder a un contrôle depuis page (sur master page) [ par ultiny ]
Bonsoir,Je voudrais savoir comment peut-on, en C#, accéder à un controle (sur ma MasterPage HTML, il porte l'id MyTitle) depuis la Page en cours de tr
Controle Utilisateur Autonome [ par GreatNeo ]
Bonjour, Je réalise une page web en ASP.net. Je dispose d'une page principale "main.aspx" qui contient deux contrôles utilisateurs autonomes "first.
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010TECHDAYS PARIS 2010 : PLAN DE MIGRATION VERS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Arnault Nouvel et Antoine Dongois Le processus à prendre : Apprendre (découvrir la plateforme) Préparer (documenter l'historique et choisir la méthode de MAJ) Test (Test de MAJ) Implémenter (Effectuer la MAJ) Valid...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOURTECHDAYS PARIS 2010 : LA PLEINIèRE DU SECOND JOUR par ROMELARD Fabrice
Après un retour sur l'histoire des TechDays de Paris et le fait que ce soit le plus gros event MS au monde (du fait de sa gratuité), le président de MS France (Eric Boustoullier) a fait une présentation de la vision Microsoft pour les années à venir...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
RE : FILEUPLOAD RE : FILEUPLOAD par noux
Cliquez pour lire la suite par noux
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
Comparez les prix

HTC Magic
Entre 429€ et 429€
|