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

C# Discussion :

Exposer ses classes c# à un script javascript


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Points : 180
    Points
    180
    Par défaut Exposer ses classes c# à un script javascript
    Bonjour,

    j'aimerai pouvoir exposer une classe c# à du code javascript

    est-ce possible ?

    Supposons une classe c# Personne, ainsi écrite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        public class Personne
        {
            public string Nom { get; set; }
            public string Prenom { get; set; }
        }
    Je voudrais pouvoir faire dans le javascript ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var maPersonne = new Personne();
    Merci d'avance pour vous réponses

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,
    Malheureusement, si c'était si facile, on l'aurait tous fait

    Sinon,tu peux rendre ton assembly et ta classe visibles par COM, et ensuite faire un petit coup de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var personne = new ActiveXObject("TonAssembly.TaClasse");
    Le gros inconvénient de cette méthode est qu'elle n'est possible QUE sous Internet Explorer.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Points : 180
    Points
    180
    Par défaut
    Et en Ajax, no way ?
    Il n'y a pas de registerClass ou un truc dans le genre ... une petite librairie .net qui permettrait d'exposer facilement ses classes ?

    (genre qui bouclerait en réflexion sur les propriétés & co de la classe et générerait du javascript....)

  4. #4
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bah pourquoi pas, sauf qu'il faut sûrement passer par du asp.net (ou alors être condamné à accéder aux propriétés sans pouvoir les modifier)

  5. #5
    Membre expérimenté Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Points : 1 539
    Points
    1 539
    Par défaut
    La question que je me pose c'est quel genre de comportement tu attends de ton objet "Personne" côté javascript ?...

    Le javascript c'est côté client. Le C#, sauf si tu fais du silverlight, c'est côté serveur.

    Donc, disons que tu fais (en imaginant que ça soit synaxiquement correct) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var p = new Personne();
    p.Nom = "Dupond";
    Tu t'attends à ce qu'une personne soit créée côté serveur et qu'elle soit nommée "Dupond" ?...

  6. #6
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Si on utilise un WebBrowser, c'est assez simple :

    Du coté de l'appli C#, marquer La WinForm "ComVisible".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // metre dans le code de la form, la ligne suivante :
    [System.Runtime.InteropServices.ComVisible(true)]
    // mettre dans le Load de la form, l'instruction suivante :
    WebBrowser1.ObjectForScripting = this ;
    // définir une methode public
    public void AfficheMsg(string msg)
    {
    MessageBox.Show(msg);
    }
    Appeler la métode c# dans le javascript :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="button" value="JavaScript appelle Dotnet"
    onclick="window.external.AfficheMsg('message JavaScript');" />

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Points : 180
    Points
    180
    Par défaut
    Citation Envoyé par davcha Voir le message
    La question que je me pose c'est quel genre de comportement tu attends de ton objet "Personne" côté javascript ?...

    Le javascript c'est côté client. Le C#, sauf si tu fais du silverlight, c'est côté serveur.

    Donc, disons que tu fais (en imaginant que ça soit synaxiquement correct) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var p = new Personne();
    p.Nom = "Dupond";
    Tu t'attends à ce qu'une personne soit créée côté serveur et qu'elle soit nommée "Dupond" ?...
    Une fois l'objet instancier et les propriétés renseigner, je veux le transmettre au serveur, en passant par de l'ajax, qui se chargera alors de faire le traitement adéquat et d'éventuellement me retourner un objet du même type

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    Citation Envoyé par kendras Voir le message
    Bonjour,

    j'aimerai pouvoir exposer une classe c# à du code javascript

    est-ce possible ?
    Oui ça s'appelle JSON et les Web Services.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 331
    Points : 180
    Points
    180
    Par défaut
    a ceci près que je ne veux pas discuter en JSON, mais en XML...
    Et communiquer avec un service WCF, et non un web services ...

  10. #10
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 273
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 273
    Points : 2 203
    Points
    2 203
    Par défaut
    Et alors ça change quoi ?

    C'est juste la configuration qui change en WCF.

    WCF c'est (aussi) du web service

    Donc quelle est la différence ?

Discussions similaires

  1. Réponses: 8
    Dernier message: 18/04/2006, 12h16
  2. Probleme avec un script javascript->php
    Par leluis dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/03/2006, 15h32
  3. aide pour un script javascript
    Par speedylol dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/03/2006, 14h28
  4. utiliser un recordset dans un script javascript
    Par insect INC dans le forum ASP
    Réponses: 4
    Dernier message: 10/10/2005, 19h29
  5. [PHP-JS] Php dans un script javascript
    Par nebule dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2004, 10h38

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