【发布时间】:2014-06-13 12:44:25
【问题描述】:
我的模型类如下: 我有三个类,其中两个是偏类,一个是简单类.......
[MetadataType(typeof(RegistrationMetaData))]
public partial class Registration
{
}
public class RegistrationMetaData
{
public string Id { get; set; }
public string Name { get; set; }
public string Username { get; set; }
public virtual ICollection<Images> Images { get; set; }
}
[MetadataType(typeof(ImagesMetaData))]
public partial class Images
{
}
public class ImagesMetaData
{
public string id { get; set; }
public string stuid { get; set; }
public string stuimg1 { get; set; }
public virtual ICollection<Registration> Registrations { get; set; }
}
public class EmployeeViewModel
{
public string Name { get; set; }
public string stuimg1 { get; set; }
}
public class NotificationViewModel
{
public Registration registration { get; set; }
public Notification notification { get; set; }
public IEnumerable<EmployeeViewModel> EmployeeViewModel { get; set; }
public Images images { get; set; }
}
然后我在控制器类中使用下面的代码来获取注册表中带有外键的图像记录。
IEnumerable<EmployeeViewModel> model1 = null;
model1 = (from e in db.Registrations
join j in db.Images on e.Id equals j.stuid
where e.Email == Email
select new EmployeeViewModel
{
Name = e.Name,
stuimg1 = j.stuimg1
}).ToList();
var mixmodel = new NotificationViewModel
{
EmployeeViewModel = model1
};
return View(mixmodel);
最后我的查看页面是这样的:-
@model IEnumerable<Amar.Models.NotificationViewModel>
@foreach (var item in Model)
{
@item.EmployeeViewModel.stuimg1
}
但我收到一个错误
System.Collections.Generic.IEnumerable' 不包含 'stuimg1' 的定义,并且找不到接受类型为'System.Collections.Generic.IEnumerable' 的第一个参数的扩展方法 'stuimg1'(您是否缺少使用指令还是程序集引用?)
我已经调试好我的代码,直到控制器页面...但是从视图页面看,值没有显示。我认为我犯了一些小错误...
请有人帮助我..自 2 周以来我一直在尝试解决这个问题....
我想从同一个视图页面上的另一个类中获取数据,这就是我使用 NotificationViewModel 类的原因。
【问题讨论】: