событие не отображается с помощью jquery для просмотра в asp.net mvc

Я реализую полный календарь в jquery в своем приложении asp.net mvc, ссылаясь на здесь

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

Отредактировано

Контроллер:

 public ActionResult CalendarData()
        {
            IList<CalendarDTO> tasksList = new List<CalendarDTO>();

            tasksList.Add(new CalendarDTO
            {
                id = 1,
                title = "Google search",
                start = ToUnixTimespan(DateTime.Now),
                end = ToUnixTimespan(DateTime.Now.AddHours(4)),
                url = "www.google.com"
            });
            tasksList.Add(new CalendarDTO
            {
                id = 1,
                title = "Bing search",
                start = ToUnixTimespan(DateTime.Now.AddDays(1)),
                end = ToUnixTimespan(DateTime.Now.AddDays(1).AddHours(4)),
                url = "www.bing.com"
            });

            return Json(tasksList);
        }

        private long ToUnixTimespan(DateTime date)
        {
            TimeSpan tspan = date.ToUniversalTime().Subtract(
     new DateTime(1970, 1, 1, 0, 0, 0));

            return (long)Math.Truncate(tspan.TotalSeconds);
        }

Добавлен класс

public class CalendarDTO
    {
        public int id { get; set; }
        public string title { get; set; }
        public long start { get; set; }
        public long end { get; set; }
        public string url { get; set; }
    }

Мастер сайта

<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
<link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
<link href="../../Content/fullcalendar.css" rel="stylesheet" type="text/css" />
<script src="../../Scripts/fullcalendar.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>

Просмотр страницы Я использовал индексную страницу, которая задана по умолчанию.

   $(document).ready(function() {
       $('#calendar').fullCalendar({
           events: "/Home/CalendarData"
       });
   });  

И добавлен div с идентификатором "calender".
------------------------------------------------- -------------------------------------------------- -----
Отредактированный вопрос 2

Как вы можете видеть выше, мой метод возвращает вывод Json. но я получаю сообщение об ошибке:
Этот запрос был заблокирован, поскольку конфиденциальная информация может быть раскрыта сторонним веб-сайтам, когда она используется в запросе GET. Чтобы разрешить запросы GET, задайте для JsonRequestBehavior значение AllowGet.


Поэтому я просто добавляю параметр JsonRequestBehavior.AllowGet в Json() .

но он запрашивает загрузку выходного файла json. вместо этого он должен быть перенаправлен на просмотр как обычно, верно? почему это должно происходить?


person Red Swan    schedule 20.10.2010    source источник
comment
Какую ошибку вы получали? Это может помочь, если вы можете включить часть своего кода.   -  person mfdoran    schedule 20.10.2010
comment
не получает никакой ошибки, но показывает календарь, но не события по датам   -  person Red Swan    schedule 20.10.2010
comment
приветооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо   -  person Red Swan    schedule 20.10.2010


Ответы (1)


Возможно, глупый вопрос, но вы включили jquery-1.3.2.js и fullcalendar.js на свой сайт? Помните, что в шаблоне проекта ASP.NET MVC 2.0 по умолчанию только jquery-1.4.1.js включается в папку Scripts. Также я бы порекомендовал вам загрузить последние версии jquery и файлы плагин fullCalendar.

Также вот еще одна ошибка при возврате JSON в действии CalendarData:

return Json(tasksList, JsonRequestBehavior.AllowGet);

В отличие от ASP.NET MVC 1.0, в ASP.NET MVC 2.0 JsonRequestBehavior.AllowGet необходим, если вы хотите, чтобы это действие было доступно через GET, что, я думаю, делает плагин календаря.

Конечно, вы бы увидели эту ошибку, если бы использовали FireBug для анализа данных запроса/ответа AJAX.

person Darin Dimitrov    schedule 20.10.2010