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 に移動すると、CalendarData 関数で作成したものとまったく同じ内容の json データを保存するためのプロンプトが表示されます。
ページを正しくレンダリングするにはどうすればよいですか?
前もって感謝します、
エラン
更新: Rune と Franci のコメントに従って、index.aspx と同じ CalendarData.aspx というビューを追加しました。結果:
- /scheduler/calendardata に移動すると、ファイルの保存ダイアログが引き続き表示されます。
- /scheduler/index に移動すると、Visual Studio で次のランタイム エラーが発生します。 Microsoft JScript ランタイム エラー: オブジェクトが必要です。VS は、scrip タグの $(document).ready(function()...) コードを強調表示します。