我在我的asp.net mvc应用程序中通过引用这里实现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 "calender“的div。
-----------------------------------------------------------------------------------------
编辑皇后区2
正如您在上面看到的,我的方法返回Json输出put。但我犯了错误,因为:
此请求已被阻止,因为在GET请求中使用此请求时,可以向第三方网站披露敏感信息。要允许GET请求,请将JsonRequestBehavior设置为AllowGet。
因此,我只是将参数作为JsonRequestBehavior.AllowGet添加到Json()中。
但是它要求下载json输出文件。而不是这样,它必须重定向到像往常一样查看,对吗?为什么会发生这种事?
发布于 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时,还会遇到另一个问题:
return Json(tasksList, JsonRequestBehavior.AllowGet);与ASP.NET MVC 1.0相反的是,在ASP.NET MVC 2.0中,如果您希望通过GET访问此操作(我认为日历插件是这样做的),则JsonRequestBehavior.AllowGet是必要的。
当然,如果您使用FireBug来分析AJAX请求/响应数据,您就会看到这个错误。
https://stackoverflow.com/questions/3977056
复制相似问题