Reputation: 57
i get this in chrome debug picsList.push(BL.datafuncs+pics);
a string
insted of picsList.push([{img:"",url:""}]);
an object
<script>
var picsList = [];
@foreach (var item in BL.datafuncs.GetMainPagePics())
{
@:picsList.push(@item);
}
</script>
public class pics
{
public string img { get; set; }
public string url { get; set; }
}
public static List<pics> GetMainPagePics()
{
List<pics> a = new List<pics>();
pics p =new pics();
p.img = "",
p.url = "";
a.Add(p);
return a;
}
Upvotes: 1
Views: 50
Reputation: 998
You need to convert object to json, you can try:
@:picsList.push(@Html.Raw(Json.Encode(item)));
Upvotes: 0
Reputation: 1141
I think razor is using "ToString()" method of "item".
Maybe JsonConvert.SerializeObject?
;P
Upvotes: 1