【问题标题】:Pass datetime to controller action with jquery-ajax使用 jquery-ajax 将日期时间传递给控制器​​操作
【发布时间】:2011-10-02 18:01:09
【问题描述】:

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

该操作仍然是 controller/action/11/12/2011,它不起作用...有什么帮助吗?

这就是我所拥有的:

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

【问题讨论】:

    标签: ajax datetime jquery datepicker


    【解决方案1】:

    如果您在控制器上有这样的操作方法:

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

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

    【讨论】:

      【解决方案2】:

      您可以将“/”替换为 hiphen 符号,或尝试使用 uriEncode 函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-03
        相关资源
        最近更新 更多