带有.NET WebService的完整日历ajax数据源



我正在尝试创建一个JQueryFullCalendar,以使用WebService方法作为数据源。

我的方法是:

[WebMethod]
public EventData[] ListEvents(int start, int end)
{
}

我的javascript是:

$('#calendar').fullCalendar({
  events: 'MyWebService.asmx/ListEvents'
}

请求的URL是:

http://localhost:49354/MyService.asmx/ListEvents?start=1338073200&end=1341702000&_=1341766605921

这还不能解决,我如何更新此JQuery以正确调用我的WebMethod?

我找到了解决方案:

$(document).ready(function () {
        $('#Calendar').fullCalendar({
          events: function (start, end, callback) {
            $.ajax({
              type: "POST",
              url: 'Webservice.asmx/ListEvents',
              cache: false,
              contentType: "application/json; charset=utf-8",
              dataType: "json",
              success: function (data) {
                var events = [];
                $(data.d).each(function () {
                  events.push({
                    title: this.Title,
                    start: this.Start,
                    end: this.End
                  });
                });
                callback(events);
              },
              error: function (jqXHR, textStatus, errorThrown) {
                alert('There was an error');
              }
            });
          }
        });
      });

在这个例子中,我的数据我的web服务以秒为单位返回自epoc:以来的时间

[WebMethod]
    public CalendarEvent[] ListEvents()
    {
      DateTime epoc = new DateTime(1970, 1, 1);
      return new CalendarEvent[]
      {        
        new CalendarEvent { Title = "Event 1", Start = new DateTime(2012,7,9,16,0,0).Subtract(epoc).TotalSeconds, End = new DateTime(2012,7,9,17,0,0).Subtract(epoc).TotalSeconds},
        new CalendarEvent { Title = "Event 2", Start = new DateTime(2012,7,12,12,0,0).Subtract(epoc).TotalSeconds, End = new DateTime(2012,7,12,13,0,0).Subtract(epoc).TotalSeconds}
      };      
    }

相关内容

  • 没有找到相关文章

最新更新