我想为我的网站构建一个日历'组件'。我希望将来可管理且易于扩展。我不会将它用于任何其他网站,但它希望使其可以独立于网站的其他部分。该网站使用ASP.NET MVC构建。
我希望包含不同的观点(月,周,日[甚至是年])。我打算使用不同的方式向用户提供信息:
需要根据其他(.NET)模型中包含的信息显示信息。我希望这个逻辑能够正确分开。
我相当擅长javascript,所以我将能够构建一个漂亮的界面,用于在日历上拖放事件并浏览日历日期。但是我希望组件在没有javascript的情况下工作。
我应该从头开始构建这个组件吗?如果是这样,您是否可以命名为构建组件而创建的不同部分?
或
我可以更改.NET日历控件以满足我的需求吗?
感谢您的投入!
答案 0 :(得分:4)
我严重偏向于此,但请查看Google Calendar的内容。在我看来,这是一个非常非常好的日历网页用户界面。
我的主要建议是期待它是一种痛苦。特别是,这些“轴”中的每一个都增加了额外的复杂程度:
当你将所有这些结合起来时,你最终会感到非常痛苦。弄清楚你真正需要涵盖的内容,并排除其他一切。尝试将永久排除在外(并明确地 - 在管理层批准的情况下,保留您不支持的事项的文档)。
完全披露:我在Google Sync处理移动设备,主要是在日历方面。你不会相信出现的一些角落案例。我的发展空间基本上都是由角落组成。
答案 1 :(得分:1)
为什么要重新发明轮子,如果你可以重复利用并且可能改进已经很好的轮子呢?
尝试查看它使用DHTMLxScheduler的Javascript API,以便您可以完成所需的一切......
您可以在WebAppers entry
上阅读更多内容在我们今天的世界里,我们应该重复使用,而不是一遍又一遍地发明一些事情......至少我是这个想法的辩护者。
开源 - GPL允许您免费在GPL项目中使用dhtmlxScheduler。
答案 2 :(得分:1)
我绝对不鼓励你建立自己的。想一想这一点。
如果您希望构建日历会花费X小时,那么您应该花费X / 10小时来查找日历:
甚至接近你需要的一半。在最坏的情况下,你会浪费10%的时间来节省50%的时间。我知道那里有数百个日历,所以你可能会找到几乎完全符合你需求的日历,即渐进渲染和所有(拖放是你自己可能需要做的事情)。
拥有适合您需求的许可证。他们中的大多数都拥有自由执照,因为它是如此共同的控制。
如果日历具有很高的采用率,那么你会感觉更好,因为它会有更少的错误,因为它会在野外进行测试,但是你的数据库会在几个月后继续显示大量浏览器中的错误。你真的不想这样花时间修复bug,你可以花相同的时间编写功能。如果社区规模很大,它甚至可能有一些很酷的功能,你可以免费获得,甚至没有想到它们(比如某些国家从周一到周日的一周开始)。
您可以将节省的时间集中在拖放功能上,并根据需要调整日历。
答案 3 :(得分:0)