Comment puis-je accéder à mon modèle à partir de ma vue? mon code est le suivant: -,MVC Viewmodel ne peut pas accéder au modèle avec Vue
J'ai deux modèles (en utilisant Entity Framework) qui ont un modèle de vue de: -
public class ViewModelStory
{
public IEnumerable<tbl_GCB_NewsItem> GCB_NewsItem { get; set; }
public IEnumerable<tbl_GCB_ItemComment> comemnts { get; set; }
}
Mon contoller renseigne les modèles par: -
ViewModelStory.GCB_NewsItem = (from i in db.tbl_GCB_NewsItem
where i.intItemIdentifier.ToString() == StoryId
select i).SingleOrDefault();
ViewModelStory.comemnts = (from i in db.tbl_GCB_ItemComment
where i.intItemIdentifier.ToString() == StoryId
select i).ToList<tbl_GCB_ItemComment>();
Je retourne le modèle par
return PartialView("NewsStory", ViewModelStory);
alors à mon avis, j'ai la déclaration suivante
@model ViewModelStory
@using GCBSMVC.Models
Pour accéder à mon modèle, je l'ai essayé différentes de Linq à et directement interroger le modèle, mais rien ne semble fonctionner: - Html.DisplayFor (m => m.GCB_NewsItem. .... ViewModelStory.GCB_NewsItem.strItemCategory Html.Raw (System.Web.HttpUtility.HtmlDecode (ViewModelStory.GCB_NewsItem.strItemHeadline))
À quoi ressemble la valeur de retour de votre action de contrôleur? Est-ce que vous remplissez la vue pour retourner correctement, par exemple return View ("myView", myModel)? – hschne
Je le renvoie par: return PartialView ("NewsStory", ViewModelStory); Je vais également mettre à jour la question a oublié d'ajouter ce bit. – chris
J'ai peur, mais vous ne pouvez pas définir les propriétés ViewModelStory.GCB_NewsItem de cette façon. Veuillez créer un objet, puis définir les propriétés. Si votre objet porte le même nom que la classe, veuillez le modifier et essayer. –