Я реализую полный календарь в 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. вместо этого он должен быть перенаправлен на просмотр как обычно, верно? почему это должно происходить?