C# 如何将IEnumerable模型对象转换为视图MVC3中的单个模型对象

C# 如何将IEnumerable模型对象转换为视图MVC3中的单个模型对象,c#,asp.net-mvc,asp.net-mvc-3,ienumerable,C#,Asp.net Mvc,Asp.net Mvc 3,Ienumerable,这不是一个重复的问题。尽管另一个问题与此相同,但它在偏离程序时得到了解决。在这里,我再次偶然发现了同样的问题 Iam使用DB优先的方法。 我有一个名为Dynaportal.context.cs的上下文文件,它有一个名为DynaPortalEntities的类:- public partial class DynaPortalEntities : DbContext { ... public DbSet<Page> Pages{ get; set; }

这不是一个重复的问题。尽管另一个问题与此相同,但它在偏离程序时得到了解决。在这里,我再次偶然发现了同样的问题

Iam使用DB优先的方法。 我有一个名为Dynaportal.context.cs的上下文文件,它有一个名为DynaPortalEntities的类:-

public partial class DynaPortalEntities : DbContext
{
   ...    
    public DbSet<Page> Pages{ get; set; }

    public DbSet<TemplateMaster> TemplateMasters { get; set; }
}
在一个foreach循环中

@foreach (var item in Model.TemplateMasters)
{}
在同一视图中,我需要一个不可iEnumerable的页面模型,如下所示:-

@Html.EditorFor(model => model.Pages.Title)===========>This shows error under Title

因此,在这里,我应该将IEnumerable Model.Pages转换为单个页面对象,以获得Model.Pages.Title。

是的,如果我理解正确,Razor不知道您想要什么
页面
,因为您需要所有
页面
标题


通常,您会循环浏览
页面
,并使用
@foreach
输出每个标题。或者,索引到
页面
@Html.EditorFor(model=>model.Pages.First().Title)

我在键入@Html.EditorFor(model=>model.Pages[0]时出错。它说“无法对表达式类型System.Data.Entity.DBSet应用索引”。您是否尝试了
First()
?我改变了答案。然而,我怀疑首先使用
或索引0是否能解决您的问题。这是一个说明代码不起作用的示例。
@Html.EditorFor(model => model.Pages.Title)===========>This shows error under Title