在javascript for循环中抛出错误

时间:2014-12-22 05:21:15

标签: javascript c# jquery asp.net

您好我使用Javascript for循环在循环C#列表上生成字符串,但我收到错误

Error   4   The name 'eventList' does not exist in the current context

我的完整代码在这里

     <script type="text/javascript">
     $(document).ready(function () {
         $.ajax({
             type: 'POST',
             dataType: 'json',
             contentType: 'application/json',
             url: 'ProjectedYieldCalender.aspx/GetData',
             data: '{}',
             success:
                function (data) {

                    var eventList = data.d;

                    alert(eventList.length);
                   // eventList = demo(eventList);
                    initCalendar(eventList);
                }

         });

     });
function initCalendar(eventList) {

    $('#calendar').fullCalendar({

        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        //defaultDate: '2014-08-12',
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        events: [

     <% for (var i = 0; i < eventList.count ; i++) { %>

         {
             title : eventList[<%=i%>].name,
             start : eventList[<%=i%>].date

         }
         <% }%>
        ]

    });


     }

     </script>

任何一个让我知道我在哪里做错了,请让我知道如何使用for循环中的列表计数。如果我在for循环中放置一些静态值,我会得到正确的结果,例如&#39; i&lt; 5&#39;而不是&#39; i&lt; eventList.Count&#39;

1 个答案:

答案 0 :(得分:1)

你必须这样做。您正在尝试访问asp.net代码中的javascript数组,因此它会给您带来错误。

   function initCalendar(eventList) {
        var events = [];
        for(var i=0;i<eventList.length;i++)
        {
           events.push({ title : eventList[i].name , start: eventList[i].date });
        } 

        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,basicWeek,basicDay'
            },
            //defaultDate: '2014-08-12',
            editable: true,
            eventLimit: true, // allow "more" link when too many events
            events: events
            });
         }