所以我在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" />
这是按钮的点击功能。 $(&#39; #PrintView&#39;)。click(function(){ var currentCalendarView = $(&#39;#calendar&#39;)。fullCalendar(&#34; getView&#34;); var startDate = currentCalendarView.visStart; var endDate = currentCalendarView.visEnd; window.open(@ Url.Action(&#34; PrintableCalendar&#34;,&#34; OnCall&#34;,new {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>
答案 0 :(得分:1)
您正在将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());
答案 1 :(得分:0)
你试试这个,它可以帮助你用动作和参数调用特定的控制器。
window.location.href =&#34; @ Url.Action(&#34; Action&#34;,&#34; Controller&#34;)&#34; +&#34; /&#34; +参数;