Полный календарь в JQUERY с использованием веб-сервисов в Asp.Net - PullRequest
1 голос
/ 19 апреля 2010

это мой код. Он отлично работает для получения данных и анализа, но я не могу отобразить события. Пожалуйста, дайте мне знать возможную причину.

Мне кажется, что обратный вызов (событие) здесь не работает.

 events: function(callback)
                {
                    $.ajax({
                        type: "POST",
                        url: "WebService.asmx/hello",
                        data: "{}",
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(data)
                        {
                            var evnt = [];
                            $(data.d).find('event').each(function()
                            {

                                evnt.push({
//                                    title: $(this).attr('title'),
//                                    start: $(this).attr('start'),
                                //                                    end: $(this).attr('end')
                                       title: 'Events1',
                                       start: '2010-04-01',
                                       end: '2010-04-10'
                                });

                            });
                              alert('called end');
                            callback(evnt);

                        },
                        error: OnError
                    });
                }

Ответы [ 3 ]

0 голосов
/ 21 июля 2010

Я написал пример того, как заставить FullCalendar работать в ASP.NET с помощью веб-службы.

http://jake1164.blogspot.com/2010/06/jquery-fullcalendar-and-aspnet.html

0 голосов
/ 01 октября 2010

У меня была эта проблема, и независимо от того, как я украсил класс или метод в файле .asmx, я продолжал получать XML в качестве результата. Я наконец нашел ссылку, которая помогла мне создать просто стандартную страницу .aspx. Файл .aspx выглядит следующим образом:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ScheduledEvents.aspx.cs" Inherits="ScheduledEvents" %>

А мой файл .aspx.cs такой:

public partial class ScheduledEvents : System.Web.UI.Page
{
 protected override void Render(HtmlTextWriter writer)  
 {
   List<Event> itemList = new List<Event>();
   for (int i = 0; i < 5; ++i)
   {
        Event newEvent = new Event();
        newEvent.id = i;
        newEvent.className = "";
        newEvent.title = "Test";
        newEvent.start = (((int)DateTime.Now.AddDays(i).ToUniversalTime().Subtract(Event.rootTime).TotalSeconds)).ToString();
        newEvent.end = (((int)DateTime.Now.AddDays(i).AddMinutes(60).ToUniversalTime().Subtract(Event.rootTime).TotalSeconds)).ToString();
        newEvent.url = "http://www.google.com";
        newEvent.allDay = false;
        itemList.Add(newEvent);
   }
   Response.Clear();
   Response.ContentType = "application/json";
   Response.Write(new JavaScriptSerializer().Serialize(itemList.ToArray()));  
 }
}

Вы можете угадать состав класса Event, но это выглядит так:

public class Event
{
  public static readonly DateTime rootTime = DateTime.Parse("1970-01-01 00:00:00");
  public int id = default(int);
  public string className = string.Empty;
  public string title = string.Empty;
  public string start = string.Empty;
  public string end = string.Empty;
  public string url = string.Empty;
  public bool allDay = false;
}

Полный календарь использует секунды с 01.01.1970, поэтому используется «rootTime». Кроме того, startDate & endDate приводятся как int для обрезки десятичных разрядов, что не нравится Full Calendar.

0 голосов
/ 19 апреля 2010

Я считаю, start и end должны быть объектами Date

title: 'Events1',
start: new Date(2010, 4, 1),
end: new Date(2010, 4, 10)

См. Документацию: http://arshaw.com/fullcalendar/docs/event_data/Event_Object/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...