DayPilot - 在EventClick上返回一个新视图

时间:2017-03-28 11:03:03

标签: c# asp.net-mvc daypilot

我目前正在尝试在我的项目上实施DayPilot Lite MVC。我已经设置了我的事件,它们是可点击的(使用Debug语句测试)。但是,我要做的是处理点击并加载一个新的视图,使用从我点击的事件的id构建的ViewModel。

public ActionResult Booking()
    {
        ApplicationDbContext db = new ApplicationDbContext();
        int id = Dpc.eventID;

        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
        Lesson lesson = db.Lessons.Find(id);
        if (lesson == null)
        {
            return HttpNotFound();
        }
        return View(lesson);
    }

    class Dpc : DayPilotCalendar
    {
        public int eventID;
        protected override void OnInit(InitArgs e)
        {
            ApplicationDbContext db = new ApplicationDbContext();
            Events = from ev in db.Lessons select ev;

            DataIdField = "ClassID";
            DataTextField = "ClassLevel";
            DataStartField = "ClassStartDate";
            DataEndField = "ClassEndDate";

            Update();
        }

        protected override void OnEventClick(EventClickArgs e)
        {
            //Test to check the method was firing
            Debug.WriteLine("Hey I clicked you");
            //Parse the event ID for processing
            eventID = int.Parse(e.Id);
            //Redirect to the booking page
            Redirect("Schedule/Booking");
        }
    }

当我尝试编写Booking方法时,它告诉我Dpc.eventID需要一个对象引用。我已经尝试将类和变量设为public,但错误仍然存​​在。我无法将事件点击公开,因为我无法覆盖原始事件。我正在使用Redirect,因为如果我尝试任何其他链接,它会因同样的原因而失败。我猜它是因为它是一个非继承的子类,但如果它们有一个公共范围,我是否仍然无法访问其成员属性?

0 个答案:

没有答案