Jquery 带有URL参数的MVC4 URL操作
因此,我在jquery full calendar上有一个“打印此视图”按钮,它获取当前视图中的日期范围,并生成一个更适合打印机的日历版本。这是控制器的开始Jquery 带有URL参数的MVC4 URL操作,jquery,asp.net-mvc,asp.net-mvc-4,Jquery,Asp.net Mvc,Asp.net Mvc 4,因此,我在jquery full calendar上有一个“打印此视图”按钮,它获取当前视图中的日期范围,并生成一个更适合打印机的日历版本。这是控制器的开始 public ActionResult PrintableCalendar(string start, string end) { DateTime StartTime = Convert.ToDateTime(start); DateTime EndTime = Convert.To
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" />
这是按钮的单击功能。
$(“#打印视图”)。单击(函数(){
var currentCalendarView=$(“#calendar”).fullCalendar(“getView”);
var startDate=currentCalendarView.visStart;
var endDate=currentCalendarView.visEnd;
open(@Url.Action(“PrintableCalendar”,“OnCall”,new{start=startDate.toString(),end=endDate.toString()}));
});
更新…最初在同一视图中调用此命令以生成日历
<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>
$(文档).ready(函数(){
$(“#日历”).fullCalendar({
是的,
数据:JSON.stringify(),
eventRender:函数(事件,元素){
element.find('span.fc事件标题').html(element.find('span.fc事件标题').text());
},
事件:“@(Url.Action(“GetEvents”、“OnCall”)”,
标题:{
左:“上一个,下一个今天”,
中心:'标题',
右图:“月,agendaWeek,agendaDay”
},
加载:函数(bool){
if(bool)$(“#加载”).show();
else$('#加载').hide();
}
});
});
您将JS与.Net参数混合使用。尝试将最后一行替换为
window.open('@Url.Action("PrintableCalendar", "OnCall", null)?start=startDate&end=endDate');
[更正后编辑](在通话中忘记了一些引号和toDateString)
如果您尝试这样做,它将帮助您使用操作和参数调用特定的控制器
window.location.href=“@Url.Action(“Action”、“Controller”)”+“/”+参数您是否在
route.config
文件中使用这些自定义参数设置了该路由?它实际上是在浏览我的页面并告诉我有一个错误时出错的,这是因为在不同的脚本中加载页面时调用了另一个URL.action
window.open('@Url.Action("PrintableCalendar", "OnCall", null)?start=' + startDate.toDateString() + '&end=' + endDate.toDateString());