MVC中如何在View中取得多实例?
1个回答
展开全部
�蛭�颐窃谙允疚恼孪昵榈耐�币�允居没У钠缆郏�庋� Article 对象和 ArticleComment 对象为两个实体。现在将重新创建一个类,用来返回,如下:
public class ACModel { //C# 3自动属性 public Article Article { get; set; } public IEnumerable Comment { get; set; } } 接下来,我们分别获取我们需要的数据,并返回,如下: //根据文章ID查询,返回结果 public ActionResult Post(int id) { //单一的Article实体 var article = android.Article.Single(a = a.ID == id); // 使用Linq查询, comments是IEnumerable集 var comments = from a in android.ArticleComment where a.ArticleID == id select a; ACModel model = new ACModel { Article = article, Comment = comments }; return View(model); } 可能有很多直接学习 ASP.NET MVC 的朋友对 Linq 语法并不是很了解,如果你不是很了解的话可以看看基本 LINQ 查询操作 (C#),因为我们后边使用到的分页等会常用到。 可见,这样就解决了在 ASP.NET MVC3 中一个 View 中返回多个数据集的问题,我们显示数据时可根据 ACModel 对象的属性来完成。当然,也可以通过使用视图等,并建立对应的类来解决此类问题。接下来,就要在 View 中来进行显示了: //Model 是ACModel对象的引用,前边已经提过,这里不再详解。 @model Android.Controllers.ArchiveController.ACModel @{ var article = Model.Article; var comment = Model.Comment; } 显示文章标题为:@article.Title,显示评论时,因为comment为IEnumerable集,显示时进行遍历,如下: @foreach (var c in comment) { <p@c.Comment</p } 因为这里进行数据显示时,同上篇类似,所以在这里就简单的描述下。 本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询