2012-08-31 3 views
0

j'ai une classemodèle de liaison pour les objets imbriqués

public class Offer 
{ 
    public Int32 OfferId { get; set; } 
    public string OfferTitle { get; set; } 
    public string OfferDescription { get; set; } 

} 

et une autre classe

public class OfferLocationViewModel 
{ 
    public Offer Offer { get; set; } 
    public Int32 InTotalBranch { get; set; } 
    public Int32 BusinessTotalLocation { get; set; } 
} 

Maintenant, dans mon contrôleur j'ai les suivantes

public ActionResult PresentOffers(Guid id) 
    { 
     DateTime todaysDate=Utility.getCurrentDateTime(); 

     var rOffers=(from k in dc.GetPresentOffers(id,todaysDate) 
        select new OfferLocationViewModel() 
        { 
         Offer. //I dont get anything here.. 

        }).ToList(); 


     return PartialView(); 
    } 

Maintenant, le problème est dans mon contrôleur, je ne peux accéder à aucune propriété de la classe 'Offer' !! Je pensais, puisque je crée un nouveau OfferLocationViewModel() et ceci a une propriété de type 'Offer', je serai en mesure d'accéder aux propriétés..Mais je ne peux pas.

Quelqu'un peut-il me donner une idée sur la façon de faire cela?

Répondre

2

Dans un initialiseur de classe tel que new OfferLocationViewModel { ... }, vous pouvez uniquement définir les propriétés immédiates, c'est-à-dire 'Offer = new Offer()'.

Vous ne pouvez pas accéder aux propriétés du type contenu via l'initialiseur.

Bien que vous pouvez initialiser le modèle de Offer de vue d'une nouvelle offre avec les propriétés données comme celle-ci:

var rOffers = (from k in dc.GetPresentOffers(id,todaysDate) 
       select new OfferLocationViewModel { 
        Offer = new Offer { 
         OfferId = ..., 
         OfferTitle = ..., 
         OfferDescription = ... 
        } 
       }).ToList(); 
+0

aahhh..yes Je l'ai. Merci mec. à votre santé. – kandroid

Questions connexes