Une alternative à la solution de tvanfosson est de créer une vue fortement typée afin d'obtenir une vérification du temps de compilation et moins de "chaînes magiques".
Exemple ...
Supposons que vous avez la classe:
public class FrontPageViewData
{
public List<Post> Posts { get; set; }
public List<Comment> Comments { get; set; }
}
Ensuite, dans votre contrôleur ...
public ActionResult Index()
{
FrontPageViewData viewData = new FrontPageViewData();
viewData.Posts = DB.Posts.ToList();
viewData.Comments = DB.Comments.ToList();
return View(viewData);
}
Et, enfin ... à votre avis. Cela vous permettra d'accéder aux données passées avec intellisense si vous configurez la ligne d'enregistrement de la vue pour l'utiliser (notez la partie.) Cela signifie que la propriété Model sera une instance de l'argument passé dans viewdata dans la méthode VIew de votre contrôleur.
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<FrontPageViewData>" %>
<asp:Content ID="MainContent" ContentPlaceHolderID="MainContent" runat="server">
<%= Model.Posts.Count().ToString(); %>
<%= Model.Comments.Count().ToString(); %>
</asp:Content>
Bien sûr, cela est juste une démo et je ne voudrais pas utiliser ce code verbatim.
ce poste est âgé de six ans et demi, et je me suis un downvote là-dessus aujourd'hui. Tout commentaire –