27 votes

Tableau de liaison ASP.NET MVC dans le modèle

C'est un peu une question en deux parties (s'il vous plaît laissez-moi savoir si elles devraient être divisés).

1) j'ai un modèle de classe avec un tableau d'objets contenus à l'intérieur. Je voudrais être en mesure de lier automatiquement afin que je puisse accepter un seul pollModel argument dans mes contrôleurs.

public class pollResponseModel
{
    public long id { get; set; }
    public long pollID { get; set; }
    public string text { get; set; }
    public long count { get; set; }
}

public class pollModel
{
    public long id;
    public long entID { get; set; }
    public string question { get; set; }
    public DateTime posted { get; set; }
    public DateTime expiration { get; set; }

    public pollResponseModel[] responses { get; set; }
}

Le problème est que je ne suis pas sûr de la façon de lier l' responses champ, car il peut être n'importe quelle taille arbitraire. Eh bien, je peux lier correctement lors de l'affichage de la vue d'édition, mais c'est tout. Ce qui m'amène à la deuxième partie de ma question:

2) Ce qui est une façon acceptable de manière dynamique, de créer et supprimer des données dans une liste sur le client, de sorte qu'il peut être lié à un modèle et accessible dans sa forme modifiée sur le serveur? J'imagine la création/suppression des processus de travail comme l'iPhone, l'IHM de la liste: un seul + bouton ajouter un nouvel élément, et un - bouton sur chaque ligne de données de l'enlever de la liste. J'imagine que jQuery est un point de départ approprié, mais mon JS compétences sont très limitées.

26voto

womp Points 71924

Consultez cet article de Phil Haack: Liaison de modèles à une liste . Il explique exactement ce que vous devez faire pour vous lier aux propriétés de liste ou aux propriétés qui sont des objets complexes.

Essentiellement, il vous suffit de construire vos données POST de la bonne manière pour que le classeur de modèle les analyse. L'article explique comment ajouter des champs d'index masqués et représenter vos propriétés complexes dans votre formulaire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X