Asp.net mvc ASP.NET MVC调度程序是否开源?

Asp.net mvc ASP.NET MVC调度程序是否开源?,asp.net-mvc,open-source,scheduler,appointment,Asp.net Mvc,Open Source,Scheduler,Appointment,.NET MVC调度程序/预约是否开源? 谢谢 检查这个 我将在下一个项目中使用它我们的团队最近有一个MVC5项目需要它。该项目需要能够显示数据库中的事件日历,以及添加和删除现有日历项。我们查看了&version4.1开源版本 我们的发现 两者都有JavaScript版本和.Net WebForms和/或MVC集成版本,但是对于我们的项目,我们希望JavaScript版本优于MVC集成版本,因为我们觉得它更干净,更适合我们的开发模型(我们不倾向于使用第三方集成控件)。JavaScript是Dh

.NET MVC调度程序/预约是否开源? 谢谢

检查这个


我将在下一个项目中使用它

我们的团队最近有一个MVC5项目需要它。该项目需要能够显示数据库中的事件日历,以及添加和删除现有日历项。我们查看了&version4.1开源版本

我们的发现

两者都有JavaScript版本和.Net WebForms和/或MVC集成版本,但是对于我们的项目,我们希望JavaScript版本优于MVC集成版本,因为我们觉得它更干净,更适合我们的开发模型(我们不倾向于使用第三方集成控件)。JavaScript是Dhtmlx提供的唯一免费版本,而DayPilot为WebForms和MVC提供lite开源版本

这两个网站都有很好的教程,可以在他们的网站上找到,也可以在不同的网站上找到,比如CodeProject

我们选择了什么

我们在ASP.NETMVC5应用程序中使用了dhtmlx的JavaScript事件日历/Ajax调度程序,因为它的开源版本中还有一些我们想要的特性。也就是说,颜色编码选项已经准备就绪,我们发现API非常灵活,公开事件和定制选项非常强大。我们对它非常满意,并发现使用他们的文档站点和示例站点可以很容易地找出我们需要做的所有事情。我们没有使用他们的数据连接器,因为我们发现直接的AJAX调用对于我们的场景来说非常简单

开始使用dhtmlx

这里有几篇关于代码项目的文章,我们用它来帮助我们使用dhtmlx

如果链接停止工作,作者是为他们两个。 这两个例子都很古老,但仍然有效。最后,我们使用了他们的(可以下载)和网站以及

知识共享

日历中最大的技巧之一是日期格式匹配(在我们最初的例子中是不匹配的)

我们使用的格式是
scheduler.config.xml\u date=“%m/%d/%Y%H:%i”

对于来自MVC视图模型(VM)的日期,我们确保将其转换为短日期的字符串格式(
@Model.StartDate.ToString(“d”)
),如果它是VM中的日期

如果VM以字符串形式传递日期,则我们确保控制器使用以下格式示例(
item.StartDate.ToString(“MM/dd/yyyy HH:MM:ss”)

我们使用的一些可能有用的API可能只是有用的

对日历点击做出反应-查看
scheduler.attachEvent

更改小时刻度的外观-查看调度程序.模板.小时刻度

需要自定义不同事件类型的视图-查看
scheduler.renderEvent
scheduler.templates.event\u class

在日历中隐藏/忽略周末-查看计划程序。忽略周

需要一个日历操作的确认对话框-查看调度程序。\u dhtmlx\u confirm

缩小问题

我们确实发现JS版本和MVC中有一个我们没有解决的问题。如果捆绑并缩小dhtmlx的脚本,则调度程序会随着调度程序对象的重命名和未定义而中断。我们只是将脚本设置为捆绑,而不是使用
bundle
而不是
ScriptBundle
来缩小脚本

    bundles.Add(new Bundle("~/bundles/dhtmlx/calendar").Include(
        "~/Scripts/dhtmlx/dhtmlxscheduler.js",
        "~/Scripts/dhtmlx/ext/dhtmlxscheduler_limit.js",
        "~/Scripts/dhtmlx/ext/dhtmlxscheduler_minical.js",
        "~/Scripts/dhtmlx/ext/dhtmlxscheduler_readonly.js"));

我相信有办法解决这个问题,但我们并不太担心这个问题,因为应用程序的这一部分不会获得高流量

我仍然没有找到比您正在寻找的东西更好的东西来呈现时间表,或者使用ASP.NET MVC创建的开源调度应用程序?