Jquery 带有URL参数的MVC4 URL操作

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

因此,我在jquery full calendar上有一个“打印此视图”按钮,它获取当前视图中的日期范围,并生成一个更适合打印机的日历版本。这是控制器的开始

        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());