【问题标题】:event not rendering by jquery to view in asp.net mvc事件未由 jquery 呈现以在 asp.net mvc 中查看
【发布时间】:2010-10-20 10:59:59
【问题描述】:

我在我的 asp.net mvc 应用程序中通过引用 here 在 jquery 中实现完整的日历

但根据此博客,它应该在控制器操作中给定的日期呈现事件。但事实并非如此。我遵循完全相同的步骤。我检查了很多次没有错误。那么为什么会发生这种情况呢?请指导我

已编辑

控制器:

 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"
       });
   });  

并添加了 id 为“日历”的 div。
-------------------------------- -------------------------------------------------- -------
已编辑的问题 2

正如您在上面看到的,我的方法返回 Json 输出。但我收到错误:
此请求已被阻止,因为在 GET 请求中使用敏感信息可能会泄露给第三方网站。要允许 GET 请求,请将 JsonRequestBehavior 设置为 AllowGet。


所以我只是将参数作为 JsonRequestBehavior.AllowGet 添加到 Json() 。

但它要求下载 json 输出文件。而不是这个,它必须像往常一样重定向到查看,对吧?为什么会发生这种情况?

【问题讨论】:

  • 您遇到了什么错误?如果您可以包含一些代码,这可能会有所帮助。
  • 没有收到任何错误,但它显示的是日历而不是日期的事件
  • hellooooooooooooooooooo 有人活着吗?????????

标签: asp.net jquery asp.net-mvc-2 fullcalendar


【解决方案1】:

这可能是一个愚蠢的问题,但您是否在您的网站中加入了jquery-1.3.2.jsfullcalendar.js?请记住,对于默认的 ASP.NET MVC 2.0 项目模板,Scripts 文件夹中仅包含 jquery-1.4.1.js。另外我建议您下载最新版本的jqueryfullCalendar plugin

CalendarData 操作中返回 JSON 时还有另一个问题:

return Json(tasksList, JsonRequestBehavior.AllowGet);

与 ASP.NET MVC 1.0 不同,在 ASP.NET MVC 2.0 中,如果您希望通过 GET 访问此操作,则必须使用 JsonRequestBehavior.AllowGet,这就是我认为日历插件正在执行的操作。

如果您使用FireBug 分析AJAX 请求/响应数据当然会看到此错误。

【讨论】:

    猜你喜欢
    • 2014-09-25
    • 2011-08-10
    • 2013-04-23
    • 2014-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    相关资源
    最近更新 更多