使用jquery-ajax将datetime传递给控制器​​操作

时间:2011-07-11 12:04:18

标签: ajax datetime jquery datepicker

如何使用jquery ajax将日期时间传递给控制器​​操作? 使用jquery ui datepicker ie.textbox和日历控件。

行动仍然是控制器/行动/ 2011年11月12日,这不起作用......任何帮助请求?

这就是我所拥有的:

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

2 个答案:

答案 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) {
      //...
    }
});

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

答案 1 :(得分:0)

您可以用连字符替换“/”,或尝试使用urlEncode函数。