我正在將jquery fullcalendar整合到我的應用程序中。 這裏是我使用的代碼:返回Json在asp.net中導致保存文件對話框mvc
中的Index.aspx:
<script type="text/javascript">
$(document).ready(function() {
$('#calendar').fullCalendar({
events: "/Scheduler/CalendarData"
});
});
</script>
<div id="calendar">
</div>
這裏是調度/的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:
<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>
我所做的一切都非常複製f rom http://szahariev.blogspot.com/2009/08/jquery-fullcalendar-and-aspnet-mvc.html
當瀏覽到/ scheduler/calendardata我得到一個提示保存JSON數據,其內容正是我在CalendarData函數中創建的。
爲了正確渲染頁面,我需要做些什麼?
由於提前,
葉蘭
更新:繼符文的和弗郎的意見,我添加了一個名爲CalendarData.aspx觀點是一致的Index.aspx。結果:
- 導航到/ scheduler/calendardata 仍然給我保存文件對話框。
- 導航到/ scheduler/index我得到 以下運行時錯誤在Visual Studio:Microsoft JScript運行時 錯誤:對象預期。 VS 突出顯示代碼在腳本標記中的 $(document).ready(function()...) 。
如果您還沒有更改其他任何內容,添加CalendarData.aspx視圖不會更改任何內容,因爲沒有操作返回該視圖。 導航到/ scheduler/index時可能看到的是正確的頁面,但它有一個javascript錯誤。看起來你的ASP.NET MVC的東西(視圖和操作)現在是正確的,但是JavaScript有問題。嘗試使用FireFox或Chrome訪問/ scheduler/index並進一步調查js錯誤,可能使用FireFug的FireBug插件 – Rune 2010-05-26 20:55:43
您是否曾經修復過這個問題?我現在有這個問題,似乎無法克服它。 – joshlrogers 2010-07-27 19:58:12
我已經觸摸了這段代碼已經有一段時間了,但是如果我沒有記錯的話,解決方案是將所有到css和js文件的鏈接放在aspx文件中而不是母版頁中,並使用Url.Content()對它們進行編碼。希望這可以幫助! – Eran 2010-08-19 21:28:41