событие не рендеринг с помощью jquery для просмотра в asp.net MVC - PullRequest
0 голосов
/ 20 октября 2010

Я реализую полный календарь в 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; }
    }

Site.Master

<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 с id "calender".
----------------------------------------------- ------------------------------------------
Отредактированный раздел 2

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


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

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

1 Ответ

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

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

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

return Json(tasksList, JsonRequestBehavior.AllowGet);

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

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

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