Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将setDate值传递给控制器操作方法后,在enddate参数中获取空值';s enddate参数_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net 将setDate值传递给控制器操作方法后,在enddate参数中获取空值';s enddate参数

Asp.net 将setDate值传递给控制器操作方法后,在enddate参数中获取空值';s enddate参数,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,Javascript代码 function setDate(id) { debugger; $('#doctorId').val(id.name); $('#hhduration').val(id.id); var datesArray = []; var d = new Date(); var startdate = d.toLocaleString(); var ed = new

Javascript代码

function setDate(id) {

        debugger;
        $('#doctorId').val(id.name);
        $('#hhduration').val(id.id);
        var datesArray = [];
        var d = new Date();
        var startdate = d.toLocaleString();
        var ed = new Date();
        ed.setDate(d.getDate() + 12);
        var Enddate = ed.toLocaleString();
        var doctorId = id.name;

        $.ajax({
            type: "POST",
            url: '@Url.Action("GetAvailabledates", "Home")',
            data: { startdate: startdate, enddate: Enddate, doctorid: doctorId },
            datatype: "json",
            async: false
        }).done(function (data) {

            try {
                if (data.length > 0) {
                    debugger;
                    datesArray = data;
                }



            }
            catch (e) {

            }
        });
MVC控制器方法

[HttpPost] public ActionResult GetAvailabledates(日期时间开始日期、日期时间?结束日期、字符串doctorid) { int[]日期=null; 使用(DepartmentOperations dos=new DepartmentOperations()) { 日期=dos.GetAvailabledates(开始日期、结束日期、doctorid); } 返回Json(日期,JsonRequestBehavior.AllowGet); }

使用Json表示使Enddate不为null如果不传递日期,则它将传递为“0001-01-01 00:00:00”

还有一件事,若您想设置可为null的东西,那个么它应该是控制器参数中的最后一个


使用浏览器开发人员控制台(网络选项卡)检查浏览器发送的值。不,实际上问题是我将startdate和enddate都传递给控制器,但我只在控制器中获取startdate,enddate为null,但为什么?正如我告诉过你的,null必须是最后一个参数(字符串doctorid)不可为null:它应该是这样的(startdate、doctorid、enddate),我也尝试过,而不仅仅是在enddate中获取null,以及获取doctorid和startdate。只有enddate我无法获取,还有一件事是在传递am时,将enddate的当前日期加上12天,如果我传递当前日期,就像传递给startdate的方式一样,而不是在控制器中获取enddate参数中的值。尝试传递{startdate:startdate,enddate:ed.toLocaleString(),doctorid:doctorid}我得到了,实际上,我的系统日期格式是天/月/年,但控制器预期的是月/日/年。谢谢你宝贵的时间。 [HttpPost] public ActionResult GetAvailabledates(DateTime startdate,DateTime? enddate,string doctorid) { int[] dates = null; using (DepartmentOperations dos = new DepartmentOperations()) { dates = dos.GetAvailabledates(startdate, enddate, doctorid); } return Json(dates, JsonRequestBehavior.AllowGet); }