Forum
controller da şu şekilde ve select ifadesi kurdum.
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();
}
bunu view sayfasında şu şekilde kullanmaya çalışıyorum.
<% 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>
<% } %>
ancak hata veriyor select ifadesinde iki satırı tek tek belirtince <%=item.TAdi %> bundan farklı bir şekilde mi çağrılıyor itemler? nasıl çağırmalıyım view sayfamda?
Merhaba,
Aldığınız hata nedir?
Şöyle yapmayı deneyebilirsin.
Öncelikl asp.net mvc içinde strongly typed view model oluşturmalısınız.Bunun için ;
public class ViewModelType {
public IEnumerable<TarifType> Tarif { get; set; }
}
Tarif type:
public class TarifType {
public string KAdi { get; set; }
public string TAdi { get; set; }
}
Controller:
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);
}
View:
<% 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>
<% } %>
Saygılar,
çok teşekkür ederim