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 :

MVC 4 Return View Arguments


Sujet :

ASP.NET MVC

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut MVC 4 Return View Arguments
    Bonsoir,

    Bien que je sois un bon noob en MVC 4, je me permet de vous poser une question.

    Je suis en train de créer une application web très basique dans laquelle j'ai deux pages qui affichent le contenu d'une même base de donnée

    Sur la première je veux afficher toute ma base, sur la seconde je ne veux afficher que les éléments de ma base qui répondent à un certain critère.

    Je souhaite savoir où faire cette requête, je voulais la faire dans la partie controller.

    Voici le code de mon controller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class ToDoListController : Controller
        {
            private EquityDBContext db = new EquityDBContext();
     
            //
            // GET: /Equity/
     
            [Authorize]
            public ActionResult Index()
            {
                return View(db.EquityList.ToList());
            }
    Le code de mon model:

    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
     
     
    namespace Pipeline.Models
    {
        public class Equity
        {
            public int ID { get; set; }
            public string status { get; set; }
            public string name { get; set; }
            public string classe { get; set; }
            public string gvkey { get; set; }
            public string yahoo { get; set; }
            public double price { get; set; }
            public DateTime entrydate { get; set; }
        }
     
        public class EquityDBContext : DbContext
        {
            public DbSet<Equity> EquityList { get; set; }
        }
    }
    Je souhaite ne renvoyer que les Equity ayant le status = "vue" par exemple.

    Merci par avance pour votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Points : 111
    Points
    111
    Par défaut
    Bonjour,

    Pour ton code, il te suffit juste d'ajouter une petite condition where en LinQ et ça devrait donc donner quelque chose comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    return View(db.EquityList.Where(el => el.status.Equals("vue")).ToList());
    Par contre, pour les petits projets, tu peux garder tes requêtes sur le controller mais les bonnes pratiques font qu'il est préférable de bien séparer les différentes couches (code métier, accès aux données...) et ainsi exporter toute la partie accès aux données dans un autre projet.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour Damienolive,

    Tout d'abord merci pour ton aide. Je suis en train de tester ce que tu m'as donné. Par rapport à ta remarque de fin tu veux dire que je devrais faire cette partie de choix des données dans la partie Model ?

    Merci pour ton aide,

    Seka

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Le code fonctionne mille mercis! J'attends ta réponse sur le meilleur endroit pour faire cette requête

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2013
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 47
    Points : 111
    Points
    111
    Par défaut
    Bonjour,

    Tant mieux si le code fonctionne, n'hésites donc pas à passer le sujet en résolu et en ouvrir un autre au sujet de l'architecture sous mvc .net.
    Mais je vais quand même essayer de te donner quelques infos.

    Par contre, avant d'appliquer trop de concepts d'architectures, je te conseille au préalable de bien maitriser le framework mvc, comprendre le fonctionnement route, controler/model/view, filters...

    Une fois que le principe de base est ok, tu pourras commencer à regarder le tuto de Immobilis pour comprendre l'idée générale de la séparation des couches applicatives.

    Attention toutefois car le tutoriel n'est pas spécifiquement adapté à MVC.

    Après pour en revenir à ta dernière question, pour de très petits projets, tu peux rester avec ta requête dans ton controller (bien que je ne sois pas particulièrement adepte) et pour une meilleure découpe, j'ai tendance à utiliser les repository que j'exporte dans la couche d'accès aux données.

    Bon courage pour la suite

Discussions similaires

  1. MVC generer la view
    Par bruno.rotrou dans le forum Langage
    Réponses: 2
    Dernier message: 17/04/2015, 12h06
  2. Réponses: 7
    Dernier message: 10/03/2010, 19h45
  3. [ASP.NET MVC] Inherits des Views
    Par Leelith dans le forum ASP.NET
    Réponses: 3
    Dernier message: 06/10/2009, 02h07
  4. Arguments en faveur d'ASP.Net MVC
    Par PatStan17 dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 14/05/2009, 12h36
  5. Réponses: 0
    Dernier message: 17/12/2008, 15h20

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