首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在asp.net mvc中jquery不呈现视图的事件

问在asp.net mvc中jquery不呈现视图的事件
EN

Stack Overflow用户
提问于 2010-10-20 10:59:59
回答 1查看 570关注 0票数 0

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

但是根据这个博客,它应该在控制器操作中给出的日期上呈现事件。但事实并非如此。我也遵循同样的步骤。我检查了很多次,没有弄错。那么为什么要发生这种事呢?请引导我

编辑的

控制器:

代码语言:javascript
复制
 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);
        }

添加了类

代码语言:javascript
复制
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

代码语言:javascript
复制
<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>

视图页我使用了索引页,这是默认的

代码语言:javascript
复制
   $(document).ready(function() {
       $('#calendar').fullCalendar({
           events: "/Home/CalendarData"
       });
   });  

并添加id "calender“的div。

-----------------------------------------------------------------------------------------

编辑皇后区2

正如您在上面看到的,我的方法返回Json输出put。但我犯了错误,因为:

此请求已被阻止,因为在GET请求中使用此请求时,可以向第三方网站披露敏感信息。要允许GET请求,请将JsonRequestBehavior设置为AllowGet。

因此,我只是将参数作为JsonRequestBehavior.AllowGet添加到Json()中。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-20 12:16:34

也许是个愚蠢的问题,但你是否在你的网站中包含了jquery-1.3.2.js和fullcalendar.js?请记住,使用默认的ASP.NET MVC2.0项目模板,Scripts文件夹中只包括jquery-1.4.1.js。此外,我建议您下载jquery和fullCalendar插件的最新版本。

在CalendarData操作中返回JSON时,还会遇到另一个问题:

代码语言:javascript
复制
return Json(tasksList, JsonRequestBehavior.AllowGet);

与ASP.NET MVC 1.0相反的是,在ASP.NET MVC 2.0中,如果您希望通过GET访问此操作(我认为日历插件是这样做的),则JsonRequestBehavior.AllowGet是必要的。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3977056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档