Asp.net mvc ASP.NETMVC问题
我在控制器上写了这样的东西Asp.net mvc ASP.NETMVC问题,asp.net-mvc,entity-framework,linq-to-entities,Asp.net Mvc,Entity Framework,Linq To Entities,我在控制器上写了这样的东西 public ActionResult Giris() { ViewData["Tarif"] = (from t in _entities.Tarif join k in _entities.Kullanici on t.KID equals k.KID select new {KAdi = k.KAdi, TAd
public ActionResult Giris()
{
ViewData["Tarif"] = (from t in _entities.Tarif
join k in _entities.Kullanici on t.KID equals k.KID
select new {KAdi = k.KAdi, TAdi = t.TAdi})
.Take(4);
return View();
}
我在查看页面中使用它,如下所示
<% foreach (var item in (IEnumerable<dynamic>)ViewData["Tarif"]) { %>
<div class="begenilen-video" style="float:left">
<img class="video-resmi" alt="reklam" src="../../Uygulama/Resimler/Reklam/1.jpg" />
<span class="benzer-yemek-tarifi-adi"></span><%=item.TAdi %><br />
<span class="benzer-yemek-tarifi-ekleyen">Ekleyen: </span><br />
<span class="benzer-yemek-tarifi-izlenme">İzlenme: </span>
</div>
<% } %>
埃克莱恩:
İzlenme:
但是,我收到select语句中的错误。如何调用视图页面中的项
提前感谢。作为猜测,因为您尚未发布错误:
存储在ViewData[“Tarif”]
中的对象将属于IQueryable
类型,其中T是匿名对象,在您的视图中,您将强制转换为IEnumerable
<代码>IQueryable也是延迟加载的,因此一旦对象被释放,您将尝试执行查询
您应该真正创建一个强类型视图模型
public class ViewModelType {
public IEnumerable<TarifType> Tarif { get; set; }
}
控制器
public ActionResult Giris() {
var viewModel = new ViewModelType();
viewModel.Tarif = (from t in _entities.Tarif
join k in _entities.Kullanici on t.KID equals k.KID
select new TraifType { KAdi = k.KAdi, TAdi = t.TAdi }
).Take(4)
.ToList();
return View(viewModel);
}
看法
埃克莱恩:
İzlenme:
public ActionResult Giris() {
var viewModel = new ViewModelType();
viewModel.Tarif = (from t in _entities.Tarif
join k in _entities.Kullanici on t.KID equals k.KID
select new TraifType { KAdi = k.KAdi, TAdi = t.TAdi }
).Take(4)
.ToList();
return View(viewModel);
}
<% foreach (var item in viewModel.Tarif) { %>
<div class="begenilen-video" style="float:left">
<img class="video-resmi" alt="reklam" src="../../Uygulama/Resimler/Reklam/1.jpg" />
<span class="benzer-yemek-tarifi-adi"></span><%=item.TAdi %><br />
<span class="benzer-yemek-tarifi-ekleyen">Ekleyen: </span><br />
<span class="benzer-yemek-tarifi-izlenme">İzlenme: </span>
</div>
<% } %>