如何在视图中将IEnumerable模型对象转换为单个模型对象,MVC3

时间:2013-04-05 09:56:51

标签: c# asp.net-mvc asp.net-mvc-3 ienumerable

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

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

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

    public DbSet<TemplateMaster> TemplateMasters { get; set; }
}

在视图中

@model DynaPortalMVC.Models.DynaPortalEntities 

并在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。

1 个答案:

答案 0 :(得分:1)

是的,如果我理解正确,Razor不知道你想要标题的Page是什么,因为你要求所有Title的{​​{1}}。

通常,您会遍历Pages并使用Pages输出每个标题。或者,索引@foreachPages