在数据库中存储可变数量的项目

本文关键字:项目 数据库 存储 | 更新日期: 2023-09-27 18:22:38

我正在使用ASP.NET和Razor创建一个类似于谷歌日历的日历应用程序,希望到目前为止能得到一些关于我的设计的反馈。我的想法是有两个表,一个是用户的普通表,另一个是事件表,它将存储用户id和事件时间、事件id、事件名称和事件持续时间。

我计划写一些代码,在屏幕上显示日历,并允许用户选择多个时间,以便将它们标记为繁忙并为它们命名。完成此操作后,用户提交信息并将其插入数据库。

解决这种日历结构的最佳方法是什么?我真的想不出一个简单的方法。我想我可以用HTML和CSS创建一个好看的日历,也许还有JS来允许拖放功能?我想,当用户选择一个时间时,会创建一个具有开始时间和默认持续时间的对象,然后当他们拖动它时,持续时间会发生变化。然而,我很困惑你会如何做到这一点,凭空拉出物体。谷歌日历是如何做到这一点的?

然后,如何将所有创建的对象存储在数据库中?我猜Razor有一个foreach构造,我可以迭代所有创建的对象,并将它们一个接一个地插入数据库中?

此外,我如何清理数据库,收集已经发生的垃圾事件,同时保持事件不变(即每天/每周)?

抱歉,如果问题很模糊,如果太模糊,请告诉我我可以更清楚的细节,而不是结束这个问题。非常感谢。

在数据库中存储可变数量的项目

  1. 处理这种日历结构的最佳方法是什么如果你想知道这里的数据结构,无论你做什么,都要这样做,使其与标准iCalendar标准兼容

  2. 我真的想不出一个简单的方法日历是相当复杂的应用程序,没有简单的方法。(事件、共享事件、暂定、服务员、提醒…)

  3. 我猜我可以使用HTML和CSS创建一个好看的日历,也许还有JS来允许拖放功能

  4. 我想当用户选择一个时间时,会创建一个具有开始时间和默认持续时间的对象,然后当他们拖动它时,持续时间会发生变化。然而,我很困惑你会如何做到这一点,凭空拉出物体。谷歌日历是如何做到这一点的您可以找到一些现有的jquery插件(首先尝试一下,或者看看这个列表)。

  5. 然后如何将所有创建的对象存储在数据库中?我猜Razor有一个foreach构造,我可以迭代所有创建的对象,并将它们一个接一个地插入数据库中看看这些jquery插件,看看它们是如何与服务器端通信的。您最终将发出ajax请求,然后在数据库中进行数据库查询。Razor和数据库无关。。。Razor和客户端交互无关,它只是渲染页面,其他一切都在js端。

  6. 此外,我如何清理数据库,垃圾收集已经发生的事件,同时保持事件不变(即每天/每周)我不会从数据库中删除任何内容。。。看不出有什么原因。只要把你所有的东西都拿出来填写日历就行了。用户将始终关注月份/日期/周。。。获取这段时间的数据并显示出来。当他回到一年后,他将拥有所有可用的数据。

你见过我的朋友谷歌吗?

特别是,4GuysFromRolla有一个教程,还有一个外观不错的开源日历控件,其中包含一些教程,应该会让你走上正轨。