C# 如何将IEnumerable模型对象转换为视图MVC3中的单个模型对象
这不是一个重复的问题。尽管另一个问题与此相同,但它在偏离程序时得到了解决。在这里,我再次偶然发现了同样的问题 Iam使用DB优先的方法。 我有一个名为Dynaportal.context.cs的上下文文件,它有一个名为DynaPortalEntities的类:-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; }
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