我正在尝试使用https://fullcalendar.io/更新日历中的事件,以显示该事件的当前用户是否已注册,以显示事件的颜色将从绿色变为红色。
以下方法在我的服务方法之内。
public List<TimeTableEvent> GetAllEvents() { return db.TimeTableEvents.ToList(); } public List<EventAttendance> GetAllMembershipEvents(int membershipId) { var events = GetAllEvents(); var attendances = db.Attendances.Where(m => m.MembershipId == membershipId); var membershipEvents = events.Select(e => new EventAttendance { Event = e, Attendance = attendances.FirstOrDefault(a => a.TimeTableEventId == e.Id) }).ToList(); return membershipEvents; } public Attendance AddMembershipToEvent(int membershipId, int eventId) { var attendance = new Attendance { MembershipId = membershipId, TimeTableEventId = eventId, AttendanceStatus = AttendanceStatus.Pending }; db.Attendances.Add(attendance); db.SaveChanges(); return attendance; }
然后我将在控制器中使用此方法
public JsonResult GetMembershipEvents(int membershipId) { var events = service.GetAllMembershipEvents(membershipId); return Json(events); }
然后我的视图中有一个javascript方法。如下所示。
function FetchEventsAndRenderCalendar() { var userId = 1;//User.Claims.FirstOrDefault(c => c.Type == "Id"); events = []; // clear existing events $.ajax({ type: "GET", url: "/Timetable/GetMembershipEvents/" + userId, success: function (data) { $.each(data, function (i, json) { events.push( { id: json.event.id, title: json.event.title, description: json.event.description, start: moment(json.event.start), end: moment(json.event.end), color: json.isRegistered?"Red":"Green", allDay: json.event.allDay } ); })
我正在向事件添加用户,因此,事件之一在符合时应显示为红色。但是,它仍显示为绿色。
任何帮助将不胜感激。
我正在尝试使用https://fullcalendar.io/更新日历中的事件,以显示该事件的当前用户是否已注册,以显示事件的颜色将从绿色变为...
您可以尝试从此更改功能: