Я работаю над небольшим приложением, использующим плагин jQuery Fullcalendar. Этот плагин очень хорош, но теперь мне нужно изменить его.
После сохранения события оно отображается в календаре, и при щелчке по событию по умолчанию отображается предупреждение с заголовком события. Я хочу, чтобы событие click вызывало действие на контроллере календаря.
JavaScript, который я использую из fullcalendar.js, а затем моя собственная библиотека javascript:
function padDigits(n, totalDigits) {
n = n.toString();
var pd = '';
if (totalDigits > n.length) {
for (i = 0; i < (totalDigits - n.length); i++) {
pd += '0';
}
}
return pd + n.toString();
}
function createEvent(date, allDay, jsEvent, View) {
var eventDate = padDigits(date.getMonth() + 1, 2) + '-' +
padDigits(date.getDate(), 2) + '-' +
padDigits(date.getFullYear(), 4);
window.location.href = "/Calendar/Create/" + eventDate;
}
$(document).ready(function () {
$('#calendar').fullCalendar({
editable: true,
events: $('#calendar').data('url'), /*"/Calendar/GetEvents",*/
eventClick: "/Calendar/ReviewApproveBooking",
dayClick: function (date, allDay, jsEvent, view) {
createEvent(date, allDay, jsEvent, view);
}
});
});
EventClick - это место, где я хочу сделать звонок.
Действие выглядит так:
[HttpGet]
[Authorize(Roles="Admin")]
public ActionResult ReviewApproveBooking()
{
var booking = from b in DBContext.Events
where b.EventID == 1
select b;
var em = booking.Single();
Guid memberKey = em.MemberID;
MembershipUser mu_booker = Membership.GetUser(memberKey);
ProfileModel pm = ProfileModel.GetProfile(mu_booker.UserName);
em.BookerName = pm.FullName;
return View(em);
}
[HttpPost]
[Authorize(Roles="Admin")]
public ActionResult ReviewApproveBooking(int id, EventModel em)
{
// get the actual user ID
// Need to complete - I know this is blank
return View();
}
Я работаю над этим уже целый день и не могу понять, что мне нужно сделать, чтобы получить эту работу. Любая помощь с благодарностью.
Большое спасибо
nathj07