簡體   English   中英

jQuery完整日歷-單擊上一個和下一個時將月份名稱作為參數傳遞給數據庫

[英]Jquery Full Calendar- Month name to be passed as a parameter to database when prev and next is clicked

球隊,

我是jquery和C#的新手。 我正在嘗試將jquery Full calendar插件與C#中的代碼集成以顯示公司資源占用的葉子。數據庫中有10,000多個記錄,我想按會計年度和會計月份進行篩選。當我單擊上一個和下一個按鈕時,將兩個參數傳遞給C#數據庫代碼(年和月)。

我可以在日歷上顯示數據庫的前500行(我想我不能顯示更多,這似乎是一個限制)

下面是代碼

js代碼

<script type="text/javascript">
    $(document).ready(function () {
        $.ajax({
            type: "POST",
            contentType: "application/json",
            data: "{}",
            url: "CalendarPage.aspx/GetEvents",
            dataType: "json",
            success: function (data) {
                $('div[id*=fullcal]').fullCalendar({


                    header: {
                        left: 'prev,next today',
                        center: 'title',
                        right: 'month,agendaWeek,agendaDay'
                    },
                    editable: true,
                    events: $.map(data.d, function (item, i) {
                        //var eventsUrl = '/events/' + end.year() + '/' + parseInt(end.month());
                        var event = new Object();
                        event.id = item.EventID;
                        event.start = new Date(item.StartDate);
                        event.end = new Date(item.EndDate);
                        event.title = item.EventName;
                        event.url = item.Url;
                        event.ImageType = item.ImageType;

                        return event;
                    }), eventRender: function (event, eventElement) {
                        if (event.ImageType) {
                            if (eventElement.find('span.fc-event-time').length) {
                                eventElement.find('span.fc-event-time').before($(GetImage(event.ImageType)));
                            } else {
                                eventElement.find('span.fc-event-title').before($(GetImage(event.ImageType)));
                            }
                        }
                    },
                    loading: function (bool) {
                        if (bool) $('#loading').show();
                        else $('#loading').hide();
                    }
                });
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                debugger;
            }
        });
        $('#loading').hide();
        $('div[id*=fullcal]').show();
    });
    function GetImage(type) {
        if (type == 0) {
            return "<br/><img src = 'Styles/Images/attendance.png' style='width:24px;height:24px'/><br/>"
        }
        else if (type == 1) {
            return "<br/><img src = 'Styles/Images/not_available.png' style='width:24px;height:24px'/><br/>"
        }
        else
            return "<br/><img src = 'Styles/Images/not_available.png' style='width:24px;height:24px'/><br/>"
    }

</script>

C#代碼

[WebMethod]
    public static IList GetEvents()
    {


        Leave_Management_Leave_TakenTableAdapter LTTA = new Leave_Management_Leave_TakenTableAdapter();

        DB.Leave_Management_Leave_TakenDataTable LTTbl = null;

        **LTTbl = LTTA.GetForCalendar("I wish to put the parameters here");**
        IList events = new List<Event>();



            foreach( DataRow dr in LTTbl.Rows)
            {
                events.Add(new Event
                {


                    EventName = dr["Fullname"] + " Leave",

                 //   DateTime dt = , 

                   StartDate = DateTime.Parse(dr["leave_days"].ToString()).ToString("MM-dd-yyyy")




                });


            }

        return events;
    }

任何人都可以提出任何建議嗎?

Fullcalendar會在每次請求數據時傳遞2個GET參數,如果將(DateTime開始,DateTime結束)添加到GetEvents方法中,則可以過濾給定范圍的數據。

https://fullcalendar.io/docs/event_data/events_json_feed/

我早些時候以為控件面臨着在日歷上填充700-800個事件記錄的局限性。 在進一步調查中,我偶然發現了放在web.config中的一段代碼。 這基本上可以最大化jsonserialization字符串的長度。

<system.web.extensions>
       <scripting>
           <webServices>
               <jsonSerialization maxJsonLength="50000000"/>
           </webServices>
       </scripting>
   </system.web.extensions> 

暫無
暫無

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

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