JQuery:将日期发送到控制器方法

时间:2014-09-26 12:05:05

标签: jquery html asp.net-mvc

我正在尝试使用get向我的控制器方法发送日期,我的JQuery运行,我可以在IE Debugger中看到我的console.logs和network选项卡的输出。我的问题是日期接缝在发送时被加扰,而我只是在另一端得到null。

这里是GET请求的URL(接缝是大量添加的空格(输入时论坛api删除了空白空间)

/主页/ AjaxGetDataForDate? 11/09/2014 10:25:38

我如何纠正这个以便传递数据?

我的Jquery:

$("#basicModal2 tr").click(function () {
        var trdate1 = $(this).closest('tr').find(":nth-child(2n)").css("background", "#ff0000");
        var trdate = $(this).closest('tr').find(":nth-child(2n)").text();            
        alert(trdate)
        $.ajax({
            type: "GET",
            url: "/Home/AjaxGetDataForDate",
            data: trdate,
            datatype: "html",
            success: function (data) {
                console.log("Succes!");
                var $detailDiv2 = $('#superdatadiv2');
                $detailDiv2.replaceWith(data);
            },
            error: function () {
                console.log("Error!");
            },
            complete: function () {

                $('#basicModal4').modal('show');
                console.log("Complete!");
            }
        });
    });

我的控制器方法(发送GET后,filterdate应该包含日期(而不是包含null))

public ActionResult AjaxGetDataForDate(string filterdate)
    {
        var filterresults = from m in db2.ANDROID_BATTERY select m;

        filterresults = filterresults.Where(x => x.TEST_DATE.ToString().Contains(filterdate));                                          

        MasterModel model = new MasterModel();
        model.BatteryInfo = filterresults;          

        return GetAjaxData2(model);

    }

2 个答案:

答案 0 :(得分:1)

'filterdate'名称赋予ajax调用中的数据,与控制器操作参数中的数据相同,即'filterdate',如下所示:

而不是

 data: trdate,

尝试

 data: { filterdate : trdate },

答案 1 :(得分:1)

替换

data: trdate,

data: {
        filterdate : trdate 
      },
ajax函数调用中

,因为您在filterdate的{​​{1}}中使用了action method