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 MVC Discussion :

Html.Action dans une classe


Sujet :

ASP.NET MVC

  1. #1
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut Html.Action dans une classe
    Bonjour,

    Je vais pas rentrer dans les détails de mon développement mais juste expliquer le souci technique :

    En fait, je suis dans une classe (dans un filtre très exactement) et j'aimerais récupérer le résultat d'une action MVC.

    En attendant voici un extrait de code que j'ai fait et qui fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        // ici du code pas intéressant
     
       using (WebClient client = new WebClient())
       {
                        string result = client.DownloadString(url);
                        html = html.Replace(compo.OuterHtml, result);
       }
     
       // ici le code qui envoie la string html à la vue
    }
    Donc ça marche.. Mais bon, c'est pas très propre...

    Auriez-vous une solution plus simple et plus correcte pour récupérer le résultat d'une action sur un filtre ou tout autre type de classe ?

    En vous remerciant d'avance,
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

  2. #2
    Invité
    Invité(e)
    Par défaut
    Je ne vois pas l'intérêt qu'il y a derrière ce que tu veux faire.

    Sinon pourquoi ne pas utiliser OnResultExecuting à la place vu qu'on se charge de quoi va être envoyé à l'utilisateur donc le résultat ?

  3. #3
    Membre chevronné
    Avatar de stailer
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2003
    Messages
    1 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 136
    Points : 2 187
    Points
    2 187
    Billets dans le blog
    3
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je ne vois pas l'intérêt qu'il y a derrière ce que tu veux faire
    Moi j'en vois un gros : je viens de développer un système de "composants serveurs" sur un CMS réalisé en interne.

    Le but c'est pas de charger une bête vue partielle mais d'avoir une vraie action de contrôleur dans laquelle on va pouvoir accéder à la base par exemple et utiliser en même temps le moteur de vue.

    Exemple, sans rentrer dans le détail du code, dans une vue :
    <div cms_component="GoogleMaps" lat="x.xxxxx" lon="x.xxxxx" title="truc"></div>

    Le but, c'est d'aller chercher le résultat de l'action "Index" dans le contrôleur "GoogleMaps" et de remplacer le div ci dessus par le résultat obtenu.

    Je vais anticiper ta réponse : "pourquoi tu fais pas un Html.Action dans ta vue !"
    Ca n'est pas possible, car dans le CMS il y a un éditeur de texte (genre Tiny) sur lequel nous avons développé un plugin permettant d'insérer et de paramétrer ces fameux composants.

    Donc aujourd'hui TOUT FONCTIONNE. Mais le problème c'est que nous utilisons la classe WebClient, alors que nous préférerions utiliser le système MVC.

    A moins d'une autre solution (qui ne passe pas par la lourdeur de la reflexion) je ne vois rien d'autre pour appeler mon action.

    En espérant m'être bien expliqué, je te remercie pour l'intérêt que tu as porté à ce post.
    .o0o__St@iLeR__oOo.

    Lead Developer

    ASP.NET MVC - MCP/MCSD ASP.NET
    PHP Zend Framework / PhalconPHP
    Cordova/Xamarin IOS/Android
    Kendo UI - ExtJS - JQwidgets
    SQL Server / MySQL

Discussions similaires

  1. Réponses: 10
    Dernier message: 24/09/2009, 19h49
  2. Plusieurs actions dans une seule classe Action
    Par hamza_bba dans le forum Struts 1
    Réponses: 2
    Dernier message: 01/03/2009, 17h14
  3. Détecter une action d'une classe dans une autre classe
    Par Pirokkk dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/05/2008, 13h14
  4. Encoder une String en HTML dans une classe
    Par joKED dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/07/2007, 17h33
  5. Pouvoir gérer les actions des boutons dans une classe
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 08/07/2005, 13h08

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