簡體   English   中英

如何在ASP.NET中動態將數據追加到JQuery控制變量?

[英]How to append data to JQuery control variable dynamically in ASP.NET?

我想在ASP.net的Jquery日歷控件中顯示報告,因為我需要從數據庫檢索數據。我編寫了這樣的服務

    [WebMethod]
public static string GetData()
{
    Horticulture h = new Horticulture();
    return h.GetProjectedYield().GetXml();
}

在這里,我將數據集轉換為xml,然后按如下方式在javascript中調用該函數

 $(document).ready(function () {
 var response;
     $.ajax({
         type: 'POST',
         dataType: 'json',
         contentType: 'application/json',
         url: 'ProjectedYieldCalender.aspx/GetData',
         data: '{}',
         success:
                function (res) {
                    var xmlDoc = $.parseXML(res.d);                      
                    var xml = $(xmlDoc);
                    var customers = xml.find("Table1");
                }

     });

然后我需要將檢索到的數據綁定到JQuery Calender控件,如下所示

$('#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<customers.length; i++)
            {
            "{"

                "title:" +customers[i].Column1+","
                "start:"+customers[i].Column3
                "}"


            if(i!=customers.length-1)
            {
                ","
            }   

            }

    ]
     });

 });

但是我沒有得到正確的輸出(無法找到),但是我需要如下生成

$(document).ready(function() {

    $('#calendar').fullCalendar({
        defaultDate: '2014-11-12',
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        events: [
            {
                title: 'All Day Event',
                start: '2014-11-01'
            },
            {
                title: 'Long Event',
                start: '2014-11-07',
                end: '2014-11-10'
            },
            {
                id: 999,
                title: 'Repeating Event',
                start: '2014-11-09T16:00:00'
            },
            {
                id: 999,
                title: 'Repeating Event',
                start: '2014-11-16T16:00:00'
            },
            {
                title: 'Conference',
                start: '2014-11-11',
                end: '2014-11-13'
            },
            {
                title: 'Meeting',
                start: '2014-11-12T10:30:00',
                end: '2014-11-12T12:30:00'
            },
            {
                title: 'Lunch',
                start: '2014-11-12T12:00:00'
            },
            {
                title: 'Meeting',
                start: '2014-11-12T14:30:00'
            },
            {
                title: 'Happy Hour',
                start: '2014-11-12T17:30:00'
            }
        ]
    });

});

誰能讓我知道怎么做? 我要去哪里錯了?

簡單點-不要在Web服務中返回XML,而是返回事件對象列表。

public class CEvent
{
    public int id {get;set;}
    public string title {get;set;}
    public DateTime start {get;set;}
}

[WebMethod]
public List<CEvent> GetData()
{
    return new List<CEvent>{...};
}

$(document).ready(function () {
 var response;
     $.ajax({
         type: 'POST',
         dataType: 'json',
         contentType: 'application/json',
         url: 'ProjectedYieldCalender.aspx/GetData',
         data: '{}',
         success:
                function (data) {
                    var eventList = data;
                    // OR var eventList = data.d
                    initCalendar(eventList);
                }

     });

function initCalendar(eventList){
    $('#calendar').fullCalendar({
        defaultDate: '2014-11-12',
        editable: true,
        eventLimit: true, // allow "more" link when too many events
        events: eventList
    });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM