2008-11-25 7 views
1

OK, donc j'ai regardé quelques vidéos MVC et lu quelques morceaux. Je suis nouveau à l'ensemble du modèle MVC, et jusqu'à présent, j'ai été heureusement enveloppé dans le monde des formulaires Web!Nouveau sur MVC | Les données dans une vue de différentes sources

Comme avec tant de démos tout semble bien et je suis sûr que je vais avoir beaucoup je ne comprends pas que je me déplace le long, mais en premier lieu ...

je peux voir que vous pouvez avoir une vue fortement typée, qui obtient des données du contrôleur. Que se passe-t-il si je veux des données dans une vue de différents types d'objets? Dites que je veux montrer une grille de voitures et une grille de personnes, qui ne sont pas liées de toute façon ??

Thx Steve

Répondre

4

Configurez votre classe ViewData fortement typé avec deux propriétés comme celui-ci

public class MyViewData 
{ 
    public IEnumerable<Car> Cars { get; set; } 
    public IEnumerable<People> People { get; set; } 
} 

puis les remplir le contrôleur, Désolé pour le doublon. Dans un bon esprit MVC, essayez d'utiliser des interfaces si possible pour rendre votre code plus générique

0

Vous pouvez passer soit les deux objets à l'intérieur du Hashtable ViewData, ou créer un MyViewViewModel, ajoutez deux propriétés, et les mettre à la fois de votre contrôleur.

0

Ce que je pense que le mieux serait de faire dans cette situation serait de créer une classe dans le dossier Models pour contenir ces deux types.

Exemple:

public class CarsPeopleModel 
    { 
     public List<Car> Cars { get; set; } 
     public List<Person> People { get; set; } 
    } 

alors votre point de vue serait:

public partial class Index : ViewPage<MvcApplication1.Models.CarsPeopleModel> 
    { 
    } 
Questions connexes