2010-11-08 15 views
6

Merhaba, "ViewData" adlı bir listeyi nasıl geçeceğini herkes biliyor. Denediğim şey bu, ama sanırım bir yerde bir oyuncu eksik. Bunun içinasp.net mvc. ViewData aracılığıyla bir listeyi geçirme

<%@ Import Namespace="myNS.CM.AVDTalentApplication.Models" %> 

<% foreach(var gal in (List<GalleryModel>) ViewData["SomeList"]) %> 
<% { %> 
    <%= gal.uri %> 
<% } %> 

cevap

12

: Açıkça sen etkileşime ihtiyaç türü olarak ViewData koleksiyonu dışına nesne artığını zorunda

<% List<myNS.CM.AVDTalentApplication.Models.GalleryModel> galList = ViewData["SomeList"]; %> 
<% foreach (var gal in galList) { %> 
<%= gal.uri%> 
<%} %> 
+0

Büyük Çalıştı. Teşekkürler! Neden diğer döküm türünün işe yaramadığını bilmiyorum. – RayLoveless

0

:

List<GalleryModel> galleryList = new List<GalleryModel>(); 
     galleryList.Add(new GalleryModel() { isApproved = true, uri = "www.cnn1.com" }); 
     galleryList.Add(new GalleryModel() { isApproved = true, uri = "www.cnn2.com" }); 

     ViewData["SomeList"] = galleryList; 

burada benim aspx sayfa kod satır:

List<myNS.CM.AVDTalentApplication.Models.GalleryModel> galList = ViewData["SomeList"]; 
<% var galList = ViewData["SomeList"] as List<myNS.CM.AVDTalentApplication.Models.GalleryModel>; %> 

veya

<% var galList = (List<myNS.CM.AVDTalentApplication.Models.GalleryModel>) ViewData["SomeList"]; %> 
+0

Üzgünüz ... işe yaramadı. – RayLoveless

+0

@Ray L. - Hata neydi? –

+0

, bu tür bir dökümden hoşlanmadı. cevabı gör. – RayLoveless

0

her şeyden cevaplar doğru olsa bile, ben şiddetle yararlanarak öneririm: 10 görünümünde döküm gerekir

var galList = ViewData["SomeList"] as List<myNS.CM.AVDTalentApplication.Models.GalleryModel>; 
+1

oh ateş, bu bir yorum olarak kastedildi –