2

我目前正在尝试在我的项目中实现 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 需要一个对象引用。我尝试将类和变量公开,但错误仍然存​​在。我不能公开 eventClick,因为我不能覆盖原来的。我正在使用重定向,因为如果我尝试任何其他链接,它会因同样的原因而失败。我猜这是因为它是一个非继承的子类,但是如果它们具有公共范围,我是否仍然不能访问它的成员属性?

4

0 回答 0