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 :

Aide pour la compréhension des view


Sujet :

ASP.NET MVC

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

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 42
    Points
    42
    Par défaut Aide pour la compréhension des view
    Bonjour,
    Je débute en asp mvc et je ne comprend pas très bien encore le principe . J'ai compris que le contrôleur est associé a une vue. Mais j'ai encore un peu de mal sur certain point. Par exemple, je souhaite faire sur une page 3 parties , une pour une arborescence, une autre pour le formulaire, une autre pour une listeBox qui depuis un contrôleur charge la liste. Mais voilà si je souhaite faire comme en php, un include pour intégrer dans la page le fichier qui contient la forme affichant la listeBox. Cependant si je veux charger la listebox je dois créer un contrôleur mais si je crée un contrôleur,je dois lui associer une vue mais c' est la que je comprend comment je l'integre dans la page ?
    A l'heure actuelle je travaille sur une page asp qui est appelée par la master page.

    Merci beaucoup

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Tu dois alors créer une vue partielle (Dans l'onglet Add View, le 1er checkbox "Add Partial View (.ascx)). Ca va créer l'equivalent d'un contrôle ASP.NET
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 42
    Points
    42
    Par défaut
    Merci de ta réponse. Mais excuse moi, j'ai vraiment du mal avec asp mvc.
    En fait je ne sais pas ou et comment commencer et si tu pouvais m'aider cela sera super. J'ai développé toute la partie business Layer et j'ai du mal avec la interface layer.
    En fait, je fais appel à mon webservice qui charge depuis une BDD une liste de nom. J'ai un controleur qui fait appel à mon web service mais j'aimerai l'afficher dans une liste pour pouvoir en sélectionner un ou plusieur. Mais comment faire ? et ensuite comment je récupère la ou les valeurs pour l'afficher dans un textBox de mon formulaire lorsque je clique sur une valeur de ma listBox ?
    Si tu pouvais me donner un début de réponse, je t'en serais très reconnaissant

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Pour la listbox, il y a toutes sortes de façon de faire. MVC te donne un meilleur controle de l'HTML, mais en contrepartie, il faut souvent ecrire pas soi-même, c'est moins RAD que ASP.NET (Que je n'aime pas pour cette raison, entre autres).
    Alors tu passes ta collection à ta vue, et tu fais une boucle foreach pour creer un tableau. C'est le plus basique.
    Exemple (Il affiche ici une liste avec un bouton delete sur chaque ligne):
    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
     
     <% foreach(var line in Model.Cart.Lines) { %>
                    <tr>
                        <td align="center"><%: line.Quantity %></td>
                        <td align="left"><%: line.Product.Name %></td>
                        <td align="right"><%: line.Product.Price.ToString("c") %></td>
                        <td align="right">
                            <%: (line.Quantity*line.Product.Price).ToString("c") %>
                        </td>
                        <td>
                            <% using(Html.BeginForm("RemoveFromCart", "Cart")) { %>
                                <%: Html.Hidden("ProductId", line.Product.ProductID) %>
                                <%: Html.HiddenFor(x => x.ReturnUrl) %>
                                <input type="submit" value="Remove" />
                            <% } %>
                        </td>
                    </tr>
                <% } %>
    Pour le la seconde partie de ta question, tu peux le faire avec jQuery et Ajax, en faisant de l'Hijaxing.
    Tu va creer une form normalement avec ta liste dedans, mais avec un jQuery tu va intercepter la requete. jQuery va l'appeller de manière asynchrone, va récupérer la sortie (les noms des objets selectionnés par exemple) et le placer ou tu veux (dans un textbox par exemple).

    Exemple :
    une form simple (juste un textbox):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <h2>Stocks - JSONP version</h2>
        <form action="/Stocks/GetQuoteJsonP">
            Symbol:
            <%: Html.TextBox("symbol") %>    
            <input type="submit" />
        </form>
        <hr />
        <table>
            <tr><td>Opening price:</td><td><div id="openingPrice" /></td></tr>
            <tr><td>Closing price:</td><td><div id="closingPrice" /></td></tr>
            <tr><td>Rating:</td><td><div id="stockRating" /></td></tr>
        </table>
    Le jQuery qui intercepte et qui le place dans des textboxes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     $("form[action$='GetQuoteJsonP']").submit(function () {
                $.ajax({
                    url: $(this).attr("action"),
                    data: $(this).serialize(),
                    dataType: "jsonp",
                    success: function (stockData) {
                        $("#openingPrice").html(stockData.OpeningPrice);
                        $("#closingPrice").html(stockData.ClosingPrice);
                        $("#stockRating").html(stockData.Rating);
                    }
                });
                return false;
            });
    Le controlleur qui renvoie du Json
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public JsonpResult GetQuoteJsonP(string symbol)
    {
    // You could fetch some real data here
    if (symbol == "GOOG")
    return new JsonpResult(new StockData { OpeningPrice = 556.94M, ClosingPrice = 558.20M, Rating = "A+" });
    else
    return null;
    }
    Alors aussi un conseil : si tu ne connais pas bien une techno, vaut mieux potasser un livre quelque jours avant, histoire d'avoir une vue sur le bazar. C'est du vécu : j'ai parfois fait des erreurs de conception parce que je n'avais pas assez compris la techno avant. Sur le moyen et long terme, c'est toujours gagnant, je ne me lance plus jamais dans le vide. Bon evidemment parfois le boss risque de te regarder avec des yeux ronds si tu demande à avoir quelques jours d'études.

    Un bon bouquin sur ASP.NET MVC2 est : Pro ASP.NET MVC2 Framework chez Apress (C'est la d'ou viennent les exemples). Potasse ça quelques jours, et tu pourras venir répondre aux questions ici MVC
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 42
    Points
    42
    Par défaut
    lol merci du conseil et ce sera avec plaisir d'aider d'autre personne

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2008, 18h57
  2. Besoin de vous pour la compréhensions des tests. Merci.
    Par Melle Lily dans le forum Entretien
    Réponses: 3
    Dernier message: 15/05/2008, 16h41
  3. [ARM7] Aide pour la compréhension d'un code
    Par hack-77 dans le forum Autres architectures
    Réponses: 6
    Dernier message: 25/03/2008, 20h34
  4. aide pour la gestion des journaux d'évènements
    Par to_toy dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 22/02/2007, 14h20
  5. Besoin d'aide pour un MCD des tables de la BDD
    Par nicaud dans le forum Schéma
    Réponses: 3
    Dernier message: 23/04/2006, 10h34

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