我正在将jquery fullcalendar集成到我的应用程序中。
这是我正在使用的代码:

在index.aspx中:

<script type="text/javascript">
   $(document).ready(function() {
       $('#calendar').fullCalendar({
           events: "/Scheduler/CalendarData"
       });
   });
</script>

<div id="calendar">
</div>


这是Scheduler / CalendarData的代码:

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,JsonRequestBehavior.AllowGet);
    }

    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 ActionResult Index()
    {
        return View("Index");
    }


我在site.master的head标签中也包含以下代码:

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" />
<link href="<%= Url.Content("~/Content/jquery-ui-1.7.2.custom.css") %>" rel="stylesheet" type="text/css" />
<link href="~Perspectiva/Content/Site.css" rel="stylesheet" type="text/css" />
<link href="~Perspectiva/Content/fullcalendar.css" rel="stylesheet" type="text/css" />
<script src="~Perspectiva/Scripts/jquery-1.4.2.js" type="text/javascript"></script>
<script src="~Perspectiva/Scripts/fullcalendar.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script>
<script src="/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script>


我所做的一切几乎都是从http://szahariev.blogspot.com/2009/08/jquery-fullcalendar-and-aspnet-mvc.html复制而来

导航到/ scheduler / calendardata时,提示您保存json数据,其内容正是我在CalendarData函数中创建的内容。

我需要做什么才能正确呈现页面?

提前致谢,

伊朗

更新:根据Rune和Franci的评论,我添加了一个称为CalendarData.aspx的视图,该视图与index.aspx相同。结果:


导航到/ scheduler / calendardata
仍然给我保存文件对话框。
导航到/ scheduler / index我得到
Visual中的以下运行时错误
Studio:Microsoft JScript运行时
错误:预期的对象。 VS
突出显示
$ {document).ready(function()...)
代码中的代码。

最佳答案

尝试使用JSonResult而不是ActionResult。

public JSonResult 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, JsonRequestBehavior.AllowGet);
}

09-27 13:37