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 :

Création/Edition de model complex


Sujet :

ASP.NET MVC

  1. #1
    Invité
    Invité(e)
    Par défaut Création/Edition de model complex
    Bonjour,

    Je réalise un site en MVC3.
    J'ai ce model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    namespace Gestion_Prod_Web.Models
    {
        public class VisitCreatorViewModel
        {
            public int RameTypeId { get; set; }
            public int VisitNameId { get; set; }
            public string VisitName { get; set; }
            public int RameId { get; set; }
            public DateTime DateStart { get; set; }
        }
    }
    Et je souhaites en créer une liste
    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
    public ActionResult Create()
            {
                var r = (from s in Context.GP_VisiteNames
                         where s.VN_IsSpetial == false
                         where s.VN_OutOfDate == null
                         select new VisitCreatorViewModel()
                         {
                             DateStart = DateTime.MinValue,
                             RameId = 0,
                             RameTypeId = 0,
                             VisitNameId = s.VN_ID,
                             VisitName = s.VN_Name
                         }).ToList();
                return View(r);
            }
     
            [HttpPost]
            public ActionResult Create(List<VisitCreatorViewModel> results)
            {
    Voici la vue
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    @model IEnumerable<Gestion_Prod_Web.Models.VisitCreatorViewModel>
    @{
        Layout = null;
    }
    @using (Html.BeginForm())
    {
        foreach (var item in Model)
        {
        <div class="ui-widget" style="float: left;width: 300px; margin:5px;">
            <div class="ui-dialog-titlebar ui-widget-header">
                <span id="ui-id-1" class="ui-dialog-title">@item.VisitName</span>
            </div>
            <div class="editor-label">
                @Html.LabelFor(model => item.RameTypeId)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => item.RameTypeId)
                @Html.ValidationMessageFor(model => item.RameTypeId)
            </div>
            <div class="editor-label">
                @Html.LabelFor(model => item.RameId)
            </div>
            <div class="editor-field">
                @Html.EditorFor(model => item.RameId)
                @Html.ValidationMessageFor(model => item.RameId)
            </div>
            <div class="editor-label">
                @Html.LabelFor(model => item.DateStart)
            </div>
            <div class="editor-field">
                <input type="text" class="datepicker" />
            </div>
        </div>
     
        }
        <p>
            <input type="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" value="Save" />
        </p>
     
    }
    Apres avoir rempli le formulaire je reçoit un résultat null.
    Quelqu'un saurait d'ou vient l'erreur ?
    Merci.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2013
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2013
    Messages : 39
    Points : 59
    Points
    59
    Par défaut
    Citation Envoyé par Poutchyouk Voir le message
    Bonjour,

    Je réalise un site en MVC3.
    J'ai ce model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    namespace Gestion_Prod_Web.Models
    {
        public class VisitCreatorViewModel
        {
            public int RameTypeId { get; set; }
            public int VisitNameId { get; set; }
            public string VisitName { get; set; }
            public int RameId { get; set; }
            public DateTime DateStart { get; set; }
        }
    }
    J'ai l'impression qu'il y a pas mal de confusion, et ça commence là! Si on est dans les modèles, pourquoi est-ce qu'on lit ViewModel dans l'intitulé de la classe? Pourquoi ne pas créer un répertoire ViewModels, et mettre les ViewModel dedans? Ce n'est pas prévu d'origine par MVC, mais si ça correspond à un besoin, autant le faire et s'en servir.

    Ce que je vois est en fait un Modèle, pas un ViewModèle.

    Ensuite, je saisi mal le lien entre liste et view. Dans le controleur, tu fais un "new Model", il ne peut donc y en avoir qu'un seul, pourquoi passer une liste à la view? La vue elle-même me semble être une forme, pas une grid, non?

    Tu te simplifiera la vie si tu
    1. renomme ton ViewModel en Model
    2. créé un ViewModel avec List<Model>
    3. passe à la vue un Model
    4. en retour de la vue, incrémente la liste
    5. crée une autre méthode du controlleur, et une autre vue pour montrer la liste, et éventuellement la mettre à jour.


    Maintenant, j'ai trés bien pu manquer un point important sur ce que tu voulais faire. Dans ce cas, désolé, expliques mieux ton but et on verra si on peut mieux te guider....

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

Discussions similaires

  1. [XL-2000] Aide pour création d'une macro complexe
    Par dybmans dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/10/2010, 12h38
  2. [AC-2003] Aide pour la création d'une requête complexe de non-correspondance ?
    Par [ZiP] dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 09/04/2010, 14h12
  3. Réponses: 0
    Dernier message: 13/11/2009, 15h03
  4. Création d'une requête complexe
    Par dubitoph dans le forum Requêtes
    Réponses: 5
    Dernier message: 31/07/2009, 09h08
  5. Création d'une vue complexe
    Par snooopy007 dans le forum Administration
    Réponses: 2
    Dernier message: 23/11/2006, 10h44

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