Как мне сделать мой календарь месяца DayPilot доступным только для чтения в Asp.Net MVC?

В моем проекте работает мой календарь месяца DayPilot, но я хочу сделать его доступным только для чтения. Я нашел статью о том, как это сделать, но я не уверен, как добавить ее в мой код. Может ли кто-нибудь помочь мне с моим кодом или предоставить дополнительные ссылки о том, как это сделать?

Я думаю, что это руководство поможет вам, но я не знаю, как внедрить его в мой код: https://kb.daypilot.org/15969/how-to-make-the-calendar-events-read-only/

Я следовал этим двум учебным пособиям, чтобы добавить календарь месяца DayPilot для работы в моем проекте ASP.NET MVC.

https://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=404647&av=1059127&fid=1732162&df=90&mpp=25&prof=True&sort=Position&view=Normal&spc=Relaxed&fr=81

И за месяц 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>

0 ответов

Другие вопросы по тегам