1

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;
        }
TimoStaudinger
  • 41,396
  • 16
  • 88
  • 94
Link
  • 57
  • 4

2 Answers2

1

I think razor is using "ToString()" method of "item".
Maybe JsonConvert.SerializeObject?

;P

Community
  • 1
  • 1
Daniel Oliveira
  • 1,101
  • 9
  • 26
0

You need to convert object to json, you can try:

@:picsList.push(@Html.Raw(Json.Encode(item)));
Rafał Straszewski
  • 960
  • 11
  • 10