如何在 C# Web 应用程序中为 FullCalendar 创建 JSON 源

本文关键字:FullCalendar 创建 JSON 应用程序 Web | 更新日期: 2023-09-27 18:30:36

我在网上找到了很多关于将JSON提要与FullCalendar一起使用的文章。我找不到的是对大局的一些基本理解。

我有一个 Web 应用程序,可以将用户特定的事件从我们的数据库加载到 FullCalendar 中。目前,我查询数据库并在启动时将所有内容传递给FullCalendar。这开始花费太长时间,所以我正在寻找其他替代方案。

使用 JSON 源,我是否有一个完全独立的进程,该进程始终在包含特定用户事件的服务器上运行?如何支持具有要在其日历上显示的用户特定事件的多个用户?当用户从我的 C# 代码启动 Web 应用程序时,JSON 源是否启动?

如何在 C# Web 应用程序中为 FullCalendar 创建 JSON 源

使用 JSON 提要,我是否有一个完全独立的进程 始终在包含特定事件的服务器上运行 用户?

  • 您确实需要在服务器上单独使用某些内容,但它不是一个始终运行的进程。 您指定源的方式是在 fullCalendar 事件选项中传递 URL,而不是事件数组或函数。 当日历首次显示时,以及每次用户导航到不同的时间段时,fullCalendar 将使用 ajax 执行 get http 请求,并且它会自动将查询参数添加到需要显示的时间段的开始和结束的 url。 因此,您需要提供的是 url 可以访问的任何内容,并且可以返回该时间段的事件数据。 这可能是一个将执行数据库查询并返回 JSON 事件数组的网页,而不是像网页通常那样返回 html。 一些数据库(我已经用 SQL/Anywhere 完成了)可以实现一个 Web 服务,您可以通过 url 直接访问数据库服务器上的特定端口号,并且 Web 服务可以将查询作为存储过程执行,并以 JSON 格式返回结果集,从而消除了对中间网页的需求, 但是,如果您的数据库无法做到这一点,那么制作一个小网页作为数据库的中介是一个不错的方法。

您如何支持具有用户特定事件的多个用户 要显示在他们的日历上吗?

  • 我建议您在事件源的 ajax 请求中添加另一个查询参数,并传递要显示其事件的 userID。 url 之后的事件选项中的第二个参数是"data:",您可以在此处添加其他参数以传入 url 的查询字符串。 它可以是一个函数。 有关详细信息,请参阅有关事件数据的完整日历文档。 传递用户 ID 后,URL 另一端的任何内容都可以使用该用户 ID 仅检索该用户的事件。 当然,用户 ID 必须是存储在数据库中的事件数据的一部分才能执行此操作。

当用户启动网络时,JSON 源是否启动 来自我的 C# 代码的应用程序?

  • 不完全是。 它在第一次显示日历时启动;它返回该显示所需的第一批数据,然后停止。每当用户移动到不同的时间段时,这种情况就会再次发生。 它按需运行,每次 fullCalendar 发出数据请求时。 它的工作方式与 Web 服务器(和数据库)通常响应请求的方式相同。 当然,Web 服务器和数据库通常始终在后台运行,但每次需要新数据时,提供事件数据的特定网页或 Web 服务仅由 Web 服务器和数据库按需运行。