Таким образом, у меня есть кнопка просмотра этой кнопки в полноэкранном jquery, который принимает диапазоны дат, которые находятся в текущем представлении, и создает более удобную для печати версию календаря. это начало контроллера.
public ActionResult PrintableCalendar(string start, string end)
{
DateTime StartTime = Convert.ToDateTime(start);
DateTime EndTime = Convert.ToDateTime(end);
EndTime = EndTime.AddDays(-1);
ClientContext clientContext = new ClientContext(WebConfigurationManager.AppSettings["SPSite"]);
Web site = clientContext.Web;
Это кнопка, которая находится на начальном календаре
<input type="button" id="PrintView" name="PrintView" value="Print This View" />
это кнопка щелчка кнопки. $ ('# PrintView'). Click (function() {var currentCalendarView = $ ('# calendar'). FullCalendar ("getView"); var startDate = currentCalendarView.visStart; var endDate = currentCalendarView.visEnd; window.open( @Url.Action("PrintableCalendar", "OnCall", новый {start = startDate.toString(), end = endDate.toString()}));});
UPDATE... это изначально вызывается в том же представлении, чтобы генерировать календарь
<script type='text/javascript'>
$(document).ready(function() {
$('#calendar').fullCalendar({
editable: true,
data: JSON.stringify(),
eventRender: function(event, element) {
element.find('span.fc-event-title').html(element.find('span.fc-event-title').text());
},
events: "@(Url.Action("GetEvents", "OnCall"))",
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
loading: function(bool) {
if (bool) $('#loading').show();
else $('#loading').hide();
}
});
});
</script>
Вы смешиваете JS с параметрами.Net.
Попробуйте заменить свою последнюю строку на
window.open('@Url.Action("PrintableCalendar", "OnCall", null)?start=startDate&end=endDate');
[ИЗМЕНИТЬ ПОСЛЕ ПОЛЬЗОВАТЕЛЯ МЕНЯ] (забыли некоторые кавычки и toDateString в вызове)
window.open('@Url.Action("PrintableCalendar", "OnCall", null)?start=' + startDate.toDateString() + '&end=' + endDate.toDateString());
Вы пытаетесь это сделать, это поможет вам вызвать конкретный контроллер с действием и параметром.
window.location.href= "@Url.Action(" Действие "," Контроллер ")" + "/" + параметр;
route.config
?