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 :

les Eval dans le code HTML


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut les Eval dans le code HTML
    Bonjour à tous.

    Y a un truc que j'ai toujours du mal à comprendre pour deux raisons :
    - (celle là c'est la mauvaise) à chauqe fois que j'y suis confronté je cherhce à faire autrement
    - j'ai pas trouvé de vrai doc sur le sujet, qui traite d'un bout à l'autre toutes les possibilités et les méthodes.

    Maintenant je m'explique parce que j'aimerais comprendre le fonctionnement.

    Dans le code HTML je place un truc comme ça (par exemple) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="item_number" value="150" />
    Donc un champ caché qui a une value à 150. Mais cela pourrait s'appliquer à n'importe quel contrôle HTML. L'idée c'est de remplir une propriété du contrôle dynamiquement.

    Donc je voudrais remplir la Value dans le code Behind sans toucher au contrôle côté HTML avec un ruc dans le genre ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="item_number" value="<% eval("un truc") %>" />
    Voilà, je ne trouve pas de doc précise qui m'explque dans l'absolu ce que je peut envoyer à partir du CodeBehind là dedans. Je pense que je ne trouve pas car je ne dois pas utilisé les bons mot clé de recherche, déjà parce que je ne sais même pas comment cela s'appelle.

    Donc, si vous pouviez me donner un petit coup de main sur ce coup là, cela serait trés gentil.

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    Tu peux recuperer ce que te propose ton code behind, à savoir, les propriétés definies en protected et public et les fonctions définies en protected et public et ce pour des raisons de visibilites.

    La page aspx fonctionne comme une classe et ne peut voir que le public et le protected. Une variable déclarée en privée ne sera aps accessible dans ta page.

    code behind :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public class maPage : System.web.UI.Page
    {
        protected string MaValeur;
        protected string GetDescription()
        { return "toto";}
    }
    deux possibilités ensuite pour exploiter ce code behind:

    1) en faisant un équivalent de Response.write

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="MaValeur" value="<%= MaValeur %>" />
    <input type="hidden" name="Description" value="<%= GetDescription() %>" />
    2) faire du databinding :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="MaValeur" value="<%# MaValeur %>" />
    <input type="hidden" name="Description" value="<%# GetDescription() %>" />
    mais dans ce cas là il faut avoir un conteneur et demander le databinding de ton conteneur dans ton code behind.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:PlaceHolder runat=server ID=C_PH_MesInfos>
     <input type="hidden" name="MaValeur" value="<%# MaValeur %>" />
     <input type="hidden" name="Description" value="<%# GetDescription() %>" />
    </asp:PlaceHolder>

    et dans ton code behind tu peux appeler la fonction Databind de ton conteneur au moment ou cela t interesse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    protected override void OnPreRender(EventArgs e)
     {  C_PH_MesInfos.DataBind(); ]

    Sinon Eval, permet de faire un binding unidirectionnel comme celui exposé en 2) et Bind permet de faire un binding bidirectionnel, permettant de répercuter une modification d'une valeur dans un contrôle directement sur celui ci.

    Voilà en espérant t'avoir aidé,

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide.
    Je vais exploiter tes morceaux de code.

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

Discussions similaires

  1. [REGEXP] Suppression de tous les liens et les spans dans un code HTML
    Par Jibees dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 23/11/2007, 10h24
  2. Réponses: 3
    Dernier message: 28/12/2005, 15h29
  3. [techno] Executable dans du code HTML ?
    Par franck.automaticien dans le forum Général Conception Web
    Réponses: 14
    Dernier message: 23/11/2005, 09h52
  4. Réponses: 7
    Dernier message: 14/09/2005, 10h50

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