ASP.NET MVC 调度器开源? [关闭]
Posted
技术标签:
【中文标题】ASP.NET MVC 调度器开源? [关闭]【英文标题】:ASP.NET MVC Scheduler open-source? [closed] 【发布时间】:2011-09-02 16:47:34 【问题描述】:.NET MVC 调度程序/约会开源? 谢谢!
【问题讨论】:
我还是没找到比this更好的东西 您是在寻找用于呈现日程安排的东西,还是在寻找使用 ASP.NET MVC 创建的开源日程安排应用程序? 【参考方案1】:我们的团队最近有一个 MVC 5 项目有这个需求。该项目需要能够显示数据库中的事件日历以及添加和删除现有日历项目。我们查看了DayPilot Lite's & Dhtmlx's javascript 4.1 开源版本。
我们发现了什么
两者都有 JavaScript 版本和 .Net WebForms 和/或 MVC 集成版本,但是对于我们的项目,我们希望 JavaScript 版本优于 MVC 集成版本,因为我们认为它更简洁,更适合我们的开发模型(我们不倾向于使用第 3 方集成控件)。 JavaScript 是 Dhtmlx 提供的唯一免费版本,而 DayPilot 为 WebForms 和 MVC 提供精简的开源版本。
他们的网站和各种网站(如代码项目)上都有很好的教程。
我们选择了什么
我们在一个 ASP.Net MVC 5 应用程序中使用了 dhtmlx 的 JavaScript 事件日历/Ajax 调度程序,因为它在它的开源版本中具有我们想要的更多功能。也就是说,颜色编码选项已经准备好开箱即用,我们发现 API 非常灵活,暴露的事件和自定义选项非常强大。我们对此非常满意,并发现使用他们的文档站点和示例站点很容易找出我们需要做的所有事情。我们没有使用他们的数据连接器,因为我们发现直接 AJAX 调用对于我们的场景来说很容易。
dhtmlx 入门
这里有几篇关于代码项目的文章,我们用来帮助我们使用 dhtmlx。
http://www.codeproject.com/Articles/148500/Event-Calendar-for-an-ASP-NET-MVC-Application
http://www.codeproject.com/Articles/249921/How-to-Build-a-Room-Booking-Calendar-with-dhtmlxSc
如果链接停止工作,他们两个的作者都是Stas Wolski。 这两个例子都是旧的,但仍然有效。最后,我们使用了他们的online demos(可以下载)和online documentation网站。
知识分享
我们对日历的最大技巧之一是日期格式匹配(或在我们最初的情况下不匹配)。
我们使用scheduler.config.xml_date = "%m/%d/%Y %H:%i"
的格式。
对于来自我们的 MVC 视图模型 (VM) 的日期,如果它是 VM 中的日期,我们确保将它们转换为短日期 (@Model.StartDate.ToString("d")
) 的字符串格式。
如果 VM 将日期作为字符串传递,那么我们确保控制器使用以下格式示例 (item.StartDate.ToString("MM/dd/yyyy HH:mm:ss")
)。
我们使用的一些潜在有用的 API 可能只是有用的。
对日历点击的反应 - 查看scheduler.attachEvent
更改小时刻度外观 - 看看 scheduler.templates.hour_scale
需要自定义不同事件类型的视图——看看scheduler.renderEvent
和scheduler.templates.event_class
隐藏/忽略日历中的周末 - 看看scheduler.ignore_week
需要有一个日历操作的确认对话框 - 查看scheduler._dhtmlx_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"));
我确信有办法解决这个问题,但在我们的案例中我们并不太担心这个问题,因为应用程序的这一部分不会获得大量流量......
【讨论】:
【参考方案2】:检查这个 http://www.codeproject.com/Articles/404647/AJAX-Event-Calendar-Scheduler-for-ASP-NET-MVC-3-in
我会在下一个项目中使用它
【讨论】:
以上是关于ASP.NET MVC 调度器开源? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC5+EF6+EasyUI 后台管理系统(84)-Quartz 作业调度用法详解一