我在 Asp.Net MVC 中使用 fullCalendar 创建日历同步应用程序,两个人可以在同一日历上查看彼此的事件。这一切都很好,花花公子,现在我只想让模式是唯一的,这取决于事件是否来自 Model.ListA 和 Model.ListB。感觉就像我在阳光下尝试了一切。任何和所有建议将不胜感激!注意: JS 中的 belongsTo === '' 显然是我在黑暗中的最后一击……虽然不起作用。其他几个场景至少打开了模式,但我在#modal-links 中包含的链接没有显示。我在我的主日历上使用了同样的方法并且它可以工作,但是现在我使用 if elseif 他们不会显示链接按钮。此外,我使用视图模型传递了 2 个列表。再次感谢!
这是我的代码中的一个片段,应该有助于理解我正在使用什么......
<div class="col-md-11">
<div id="fullCalModal" class="modal fade">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 id="modalTitle" class="modal-title"></h4>
</div>
<h5 id="modalStart" class="modal-body"></h5>
<h5 id="modalEnd" class="modal-body"></h5>
<h5 id="modalDetails" class="modal-body"></h5>
<h5 id="modalPrivate" class="modal-body"></h5>
<div id="modal-links"></div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div id='calendar'></div>
</div>
`<script type="text/javascript">
$(document).ready(function () {
var date = new Date();
var d = date.getDate();
var m = date.getMonth();
var y = date.getFullYear();
$('#calendar').fullCalendar({
allDay: false,
timezone: 'local',
selectable: true,
selectHelper: true,
editable: true,
year: y,
month: m,
date: d,
header: {
left: 'title',
right: 'prev,next,today,agendaDay,agendaWeek,month'
},
defaultView: 'month',
editable: true,
//googleCalendarApiKey: 'API-Key',
droppable: true,
slotDuration: '00:30:00',
scrollTime: '06:00:00',
slotEventOverLap: true,
disableResizing: false,
eventOrder: '-start',
eventSources: [
{
events: @Html.Raw(Json.Encode(Model.ListA)),
//"belongsTo": 'A',
color: '#007575',
textColor: 'white'
},
{
events: @Html.Raw(Json.Encode(Model.ListB)),
//"belongsTo": 'B',
color: 'purple',
textColor: 'white'
}
],
eventClick: function(event, jsEvent, view){
$('#modalTitle').html(event.title);
$('#modalStart').html("START: " + event.start._d.toLocaleDateString() + " " + event.start._d.toLocaleTimeString());
$('#modalEnd').html("END: " + event.end._d.toLocaleDateString() + " " + event.end._d.toLocaleTimeString());
$('#modalDetails').html("DETAILS: " + event.details);
$('#modalPrivate').html("PRIVATE: " + event.isPrivate);
if(belongsTo === 'A'){
$('#modal-links').html("<a class='btn btn-default2 btn-md' href='/Members/ChooseContacts/"+event.Id+"'>Send Invitation</a><a class='btn btn-default1 btn-md' href='/Events/GetDirections/"+event.Id+"'>Get Directions</a><a class='btn btn-default1 btn-md' href='/Events/GetWeather/"+event.Id+"'>Weather Forecast</a><a class='btn btn-default1 btn-md' href='/Events/Edit/"+event.Id+"'>Edit</a><a class='btn btn-default1 btn-md' href='/Events/Delete/"+event.Id+"'>Delete</a>");
} else if (belongsTo === 'B') {
$('#modal-links').html("<a class='btn btn-default1 btn-md' href='/Members/AddToMyEvents/"+event.Id+"'>Add To My Events</a>");
}
$('#fullCalModal').modal();
}
});
});`