Как мне сделать мой календарь месяца DayPilot доступным только для чтения в Asp.Net MVC?
В моем проекте работает мой календарь месяца DayPilot, но я хочу сделать его доступным только для чтения. Я нашел статью о том, как это сделать, но я не уверен, как добавить ее в мой код. Может ли кто-нибудь помочь мне с моим кодом или предоставить дополнительные ссылки о том, как это сделать?
Я думаю, что это руководство поможет вам, но я не знаю, как внедрить его в мой код: https://kb.daypilot.org/15969/how-to-make-the-calendar-events-read-only/
Я следовал этим двум учебным пособиям, чтобы добавить календарь месяца DayPilot для работы в моем проекте ASP.NET MVC.
И за месяц https://code.daypilot.org/10607/monthly-event-calendar-for-asp-net-mvc-and-jquery-open-source
Мой код выглядит следующим образом:
Home Controller
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Backend()
{
return new Dpm().CallBack(this);
}
class Dpm : DayPilotMonth
{
DataClasses1DataContext db = new DataClasses1DataContext();
protected override void OnInit(InitArgs e)
{
Update(CallBackUpdateType.Full);
}
protected override void OnEventResize(EventResizeArgs e)
{
var toBeResized = (from ev in db.Events where ev.id == Convert.ToInt32(e.Id) select ev).First();
toBeResized.eventstart = e.NewStart;
toBeResized.eventend = e.NewEnd;
db.SubmitChanges();
Update();
}
protected override void OnEventMove(EventMoveArgs e)
{
var toBeResized = (from ev in db.Events where ev.id == Convert.ToInt32(e.Id) select ev).First();
toBeResized.eventstart = e.NewStart;
toBeResized.eventend = e.NewEnd;
db.SubmitChanges();
Update();
}
protected override void OnTimeRangeSelected(TimeRangeSelectedArgs e)
{
var toBeCreated = new Event { eventstart = e.Start, eventend = e.End, text = (string)e.Data["name"] };
db.Events.InsertOnSubmit(toBeCreated);
db.SubmitChanges();
Update();
}
protected override void OnFinish()
{
if (UpdateType == CallBackUpdateType.None)
{
return;
}
Events = from ev in db.Events select ev;
DataIdField = "id";
DataTextField = "text";
DataStartField = "eventstart";
DataEndField = "eventend";
}
}
}
Главная страница
@{
ViewBag.Title = "AJAX Monthly Event Calendar for ASP.NET MVC";
}
<script src="~/Scripts/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="~/Scripts/daypilot-all.min.js" type="text/javascript"></script>
<div id="dpm"></div>
@Html.DayPilotMonth("dpm", new DayPilotMonthConfig
{
BackendUrl = Url.Content("~/Home/Backend"),
EventMoveHandling =
DayPilot.Web.Mvc.Events.Month.EventMoveHandlingType.CallBack,
EventResizeHandling =
DayPilot.Web.Mvc.Events.Month.EventResizeHandlingType.CallBack,
TimeRangeSelectedHandling =
DayPilot.Web.Mvc.Events.Month.TimeRangeSelectedHandlingType.JavaScript,
TimeRangeSelectedJavaScript =
"dpc.timeRangeSelectedCallBack(start, end, null, { name: prompt('New Event
Name:', 'New Event') });"
})
<script type="text/javascript">
var dp;
$(document).ready(function() {
dp = $("#dpm").daypilotMonth({
backendUrl: '@Url.Content("~/Home/Backend")',
eventMoveHandling: "CallBack",
eventResizeHandling: "CallBack",
timeRangeSelectedHandling: "JavaScript",
onTimeRangeSelected: function(args) {
dp.timeRangeSelectedCallBack(args.start, args.end, { name: prompt('New
Event Name:', 'New Event') }); }
});
});
</script>