IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

[C#] Control user dans le code caché


Sujet :

ASP.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 135
    Points
    135
    Par défaut [C#] Control user dans le code caché
    Bonjour je souhaite créer un controle utilisateur mais j aimerais pouvois avoir acces au diférente methode .

    j'ai fait ca dans un fichier User.ascx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    namespace Authentification
    {
    	using System;
    	using System.Data;
    	using System.Drawing;
    	using System.Web;
    	using System.Web.UI.WebControls;
    	using System.Web.UI.HtmlControls;
     
    	/// <summary>
    	/// Description résumée de [!output SAFE_CLASS_NAME].
    	/// </summary>
    	public abstract class User : System.Web.UI.UserControl
    	{
    		protected System.Web.UI.WebControls.TextBox TextBox1;
    		protected System.Web.UI.WebControls.TextBox TextBox2;
    		protected System.Web.UI.WebControls.Button Button1;
    		public string BackColor = "write";
    		public string idUtilisateur 
    		{
    			get 
    			{
    				return TextBox1.Text;
    			}
    			set 
    			{
    				TextBox1.Text = value;
    			}
    		}
     
    		public string MotDePasse
    		{
    			get 
    			{
    				return TextBox2.Text;
    			}
    			set 
    			{
    				TextBox2.Text = value;
    			}
    		}
    Mais je ne peux le parametre que dans un fichier aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    <%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="Authentification.WebForm3" %>
    <%@ Register TagPrefix="AA" TagName="Identif" Src="User.ascx" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <html>
    	<head>
    		<title>WebForm3</title>
    		<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    		<meta name="CODE_LANGUAGE" Content="C#">
    		<meta name="vs_defaultClientScript" content="JavaScript">
    		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    	</head>
    	<body MS_POSITIONING="GridLayout">
    		<form id="WebForm3" method="post" runat="server">
    			<AA:Identif id="MonIdentif" IdUtilisateur="noham" MotDePasse="moimoi" BackColor="beige" runat="server" />
    		</form>
    	</body>
    </html>
    comment fair pour le avoir access dans le fichier aspx.cs

    Merci

    [Tags [ASPX][C#] corrigé par freegreg - Ancien tag : [ASP.NET][C#] ]
    [Pensez-y, vous-même, la prochaine fois. Merci ]

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Déjà, ca s'appelle des propriétés.
    Ensuite, j'aurais évité d'utiliser le nom des classes déjà utilisées. Ca marche avec C# mais c'est ambigü. En l'occurence, on aura du mal à savoir s'il s'agit de Authentification.User ou de Context.User si on les utilise dans une autre partie de code. Et je n'aime pas aussi quand les gens ne respectent pas la casse (idUtilisateur et IdUtilisateur)

    Finalement (et je crois que le pb vient de là) c'est voulu que la classe User soit abstraite? C'est bizarre.
    I'm Rick James, bitch!

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 135
    Points
    135
    Par défaut
    ta reponse n'est pas tres simpa et a savoir que cette exemple viens du livre référence ASP.NET ref:3390 de chez micro application
    (sauf ma faut de frappe pour la casse et le fait de dire methode au lieu de propiété).

    Donc a moin de mon fournir un livre de meilleur qualite que celui que j'ai pour apprendre je pense que ta reponse reste d'un tres mauvais gout et ne repond pas du tout a ma question.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Comme tu veux. Mais moi quand je tape "public abstract class User" sous google, ça me sort que du code java pour 100% des résultats. L'auteur de ton bouquin a passé trop de temps avec java.

    Toujours est-il que je n'arrive pas à m'expliquer pourquoi User est abstract. Hop! tiré des spécifications de C# : "An abstract class cannot be instantiated directly". Je doute fort que le code dans ton bouquin marche.
    I'm Rick James, bitch!

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 135
    Points
    135
    Par défaut
    bon oki

    je pense que nous sommes partie d'un mauvais pied.

    je que je cherche a fair est un contole utilisateur (ou serveur celui qui serai le plus adapté a mes besoin)

    je voudrais crée un control pour l'authentification des utilisateurs de mon site et donc pouvoir parametre les propiéte dans ma page aspx.cs et non dans ma page .aspx

    voila si tu peux m'expliquer comment fair ou me donner un lien vers un bon cour..

    merci et bonne nuit

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    pc152 :
    Dans la classe de ta page, déclare (si ce n'est pas déjà fait) une variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public Authentification.User MonIdentif;
    .NET fera tout seul la liaison avec le contrôle (en principe, sinon il te faudra faire un FindControl( "MonIdentif" ) pour le récupérer, mais c'est une autre histoire et une autre doc à chercher).

    Via cette variable tu pourras faire ce que tu veux avec les propriétés publiques de ton contrôle (dans le Page_Load par exemple, au hasard).


    oxmo :
    1) Une propriété est une méthode. Deux s'il y a à la fois get et set. La forme 'propriété' n'est qu'une facilité d'écriture de .NET, mais une fois le code compilé, ça redevient de 'simple' méthodes get_toto() et set_toto( value ). Les appeler propriétés est le mieux, mais les appeler méthodes n'est pas faux pour autant.

    2) Réutiliser des noms de classes existantes n'a rien de mal. Si ça oblige à indiquer les namespaces (et la possibilité de déclarer des alias est là pour ça), c'est tant mieux. On ne va pas inventer des noms tordus juste pour éviter un hypothétique conflit pour ceux qui essayent d'économiser des frappes de touches. Si le nom correspondant au rôle de la classe est déjà utilisé ailleurs, rien à battre, c'est le nom qui correspond... en association avec le namespace.

    3) Pour la casse on est d'accord, mais là c'est l'influence VB (et ceux qui y sont habitués se cassent les dents dessus très vite dès qu'ils essayent de faire du C/C#/C++).

    4) Il n'y a aucun problème à ce que la classe User soit abstraite. Les .aspx et .ascx sont eux-mêmes en fait des classes dérivées. Donc tout va bien. Il pourrait même y avoir des méthodes abstraites (propriétés comprises donc) dans la classe User, définies via un bloc <script runat="server"> dans le .ascx.

    5) La grande majorité des quelques éléments de la syntaxe du C# qui ne proviennent pas du C++ ont été récupérés de Java. C'est un peu normal qu'une recherche sur une syntaxe C# donne des résultats parlant de Java, en bien plus grand nombre (c'est pas la même ancienneté ni le même nombre de développeurs)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 28
    Points
    28
    Par défaut
    Tu peux trouver comment utiliser les proprietes dans un controle utilisateur sur cette page MSDN.

    Mais je doute que ca puisse t'aider. Je pense pas que tu puisse recuperer les proprietes de ton controle (a moins de me tromper ^^).

    Ce que j'aurai fait a ta place, c'est d'abord de rendre normale ta classe abstraite de facon a la rendre insctantciable.
    Puis j'aurai mis un panel ou un placeholder a la place de ton controle au moment du desgn de ta page.
    Puis j'aurai declare un controle en membre protege de ta page.
    Puis dans la methode Page_Load du code behind de ta page, je creerai une instance de ton controle que je place apres dans le placeholder ( placeHolder.Controls.Add (leControle) ).

    Ainsi tu pourras utiliser ton controle utilisateur un peu comme un controle serveur.

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 266
    Points : 135
    Points
    135
    Par défaut
    merci Maniak pour ton aide et les point que tu a noté.
    et oui pour la casse c'est tout a fait ca car j'etais sur vb6 et vb.not et je viens juste de passe sur asp.not en c# car partout on parle de c# et non de vb pour dotNet donc autant si mettre.


    Monorom, merci aussi c'est simpa .

    je fait mes test ce matin et je marquerais resolut si cela est le cas

    Merci et bonne journée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/03/2016, 19h32
  2. Faire appel dans le code cs à un control créé dans le code XAML
    Par TERRIBLE dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 26/08/2010, 21h08
  3. Réponses: 1
    Dernier message: 20/01/2007, 11h47
  4. Réponses: 1
    Dernier message: 09/11/2006, 13h34
  5. Réponses: 2
    Dernier message: 03/05/2006, 08h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo