WebMatrix WebPages中没有控制器和动作。您需要编写一个单独的
.cshtml页面,该页面将查询数据库并将JSON提供给响应:
@{ var db = Database.Open("events"); var result = db.Query("SELECt * FROM events"); var data = result.Select(x => new { id = x.id, title = x.title, start = x.start.ToString("s"), end = x.end.ToString("s"), allDay = false }).ToArray(); Json.Write(data, Response.Output); Response.ContentType = "application/json";}然后在另一个要显示日历的页面中,可以对其进行配置:
$(document).ready(function() { $('#calendar').fullCalendar({ theme: true, header: { left: '', center: '', right: '' }, defaultView: 'agendaDay', editable: false, events: '/events.cshtml' }); });更新:这是一个如何使用参数化查询的示例:
@{ var origin = new DateTime(1970, 1, 1, 0, 0, 0, 0); var fromDate = origin.AddSeconds(int.Parse(Request["start"])); var toDate = origin.AddSeconds(int.Parse(Request["end"])); var db = Database.Open("events"); var sql = "SELECt * FROM events WHERe start >= @0 AND end <= @1"; var result = db.Query(sql, fromDate, toDate); var data = result.Select(x => new { id = x.id, title = x.title, start = x.start.ToString("s"), end = x.end.ToString("s"), allDay = false }).ToArray(); Json.Write(data, Response.Output); Response.ContentType = "application/json";}现在您可以像这样查询页面:
/events.cshtml?start=5&end=10



