2014-03-31 58 views
0

因此,我在jQuery完整日曆上打印此視圖按鈕,它需要當前視圖中的日期範圍並生成更適合打印的日曆版本。這是控制器的開始。帶有URL參數的MVC4 URL操作

 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; 

這是初始calnedar

<input type="button" id="PrintView" name="PrintView" value="Print This View" /> 

這是按鈕的點擊功能.... IM的按鈕,這就是新的MVC和我

<script type="text/javascript"> 
    $('#PrintView').click(function() { 
     var currentCalendarView = $('#calendar').fullCalendar("getView"); 
     var startDate = currentCalendarView.visStart; 
     var endDate = currentCalendarView.visEnd; 
     window.open(@Url.Action("PrintableCalendar", "OnCall", new{start=startDate.toString(), end=endDate.toString()})); 
    }); 
</script> 

所以裸更新...最初在相同的視圖中調用以生成日曆

<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

什麼問題? – haim770

+0

您是否使用'route.config'文件中的自定義參數設置了該路線? – mituw16

+0

它實際上是錯誤的陷入我的網頁,並告訴我一個錯誤,這是由於有另一個URL.action頁面加載到不同的腳本時調用 – KBriz

回答

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

你試試這個,它幫你具體的調用帶動作和參數的控制器。

window.location.href =「@ Url.Action(」Action「,」Controller「)」+「/」+ parameter;