2011-07-11 93 views
1

如何传递一个日期时间使用jquery ajax控制器操作? 使用jquery ui datepicker ie.textbox和日历控件。传递日期时间到控制器操作与jquery-ajax

该行动仍然是控制器/行动/ 11/12/2011这不起作用...任何帮助pleasE?

这是我有:

$.ajax({ 
      url: '<%: Url.Action("myPartial", "myController") %>/' + dateString, 
      type: "GET", 
      dataTypeString: "html", 
      success: function (response, status, xhr) { 
       var container = $("#myContainer"); 
       container.html(response); 
      }, 
      error: function (XMLHttpRequest, textStatus, errorThrown) { 
       var container = $("#myContainer"); 
       container.html('<div class="Error">An error occurred</div>'); 
      } 
     }); 

其中var dateString = $('#myDate').val();

回答

0

你可以取代 “/” 与hiphen标志,或者尝试使用uriEncode功能。

+0

我希望有一个更好的方法来做到这一点... –

4

如果您对控制器的操作方法是这样的:

[HttpGet] 
public ActionResult SomeMethod(int objectId, DateTime startDate, DateTime endDate) { 
... 
} 

您可以在JavaScript中使用未来建设:

var start = new Date(); 
var end = new Date(); 
end.setDate(start.getDate() - 1); 
var parameters = { objectId: objId, startDate: start.toUTCString(), endDate: end.toUTCString() }; 
// .... 

$.ajax({ 
    url: '/YourController/SomeMethod', 
    method: 'GET', 
    data: parameters, 
    cache: false, 
    success: function (data, textStatus, jqXHR) { 
     //... 
    }, 
    error: function (jqXHR, textStatus, errorThrown) { 
     //... 
    } 
}); 

这是一件我的示例代码。这不是确切的解决方案,但您可以对此示例进行一些修改。