Ajax 剑道日历:如何在变更事件中将日期发送给控制器?(MVC扩展)

Ajax 剑道日历:如何在变更事件中将日期发送给控制器?(MVC扩展),ajax,kendo-ui,kendo-asp.net-mvc,Ajax,Kendo Ui,Kendo Asp.net Mvc,我确实做了以下示例,但不起作用: 主控台: namespace KendoUIMvcApplication1.Controllers { public class HomeController : Controller { public ActionResult Index(DateTime? date) { //here i use the date bla bla bla r

我确实做了以下示例,但不起作用:

主控台:

namespace KendoUIMvcApplication1.Controllers
{
     public class HomeController : Controller
     {
          public ActionResult Index(DateTime? date)
          {
             //here i use the date bla bla bla

               return View();
          }

          public ActionResult About()
          {
               return View();
          }
     }
}
我的视图:Index.cshtml

<p>
    @Html.Kendo().DatePicker().Name("Calendario").Value(DateTime.Now).Events(e =>e.Change("change"))
</p>


<script type="text/javascript">
    function change() {
        var dado = this.value();
        $.ajax({
            type: "POST",
            url: "/Home/Index", //url
            traditional: false,
            async: false,
            beforeSend: function () {
            },
            data: dado,
            success: function (response) {
            },
            error: function (e) {
                alert("erro");
            }
        });
    }
</script>

@Html.Kendo().DatePicker().Name(“Calendario”).Value(DateTime.Now).Events(e=>e.Change(“Change”))

函数更改(){ var dado=this.value(); $.ajax({ 类型:“POST”, url:“/Home/Index”,//url 传统:错误, async:false, beforeSend:函数(){ }, 资料来源:护墙板, 成功:功能(响应){ }, 错误:函数(e){ 警报(“erro”); } }); }
为什么当我更改日历上的日期时,控制器上的参数为空?
$Ajax功能运行良好;var dado有一个日期。

尝试将值作为键/值对对象发送。 e、 g

此外,您可能需要将日期格式化为ModelBInder的方便格式

e、 g


尝试将值作为键/值对对象发送。 e、 g

此外,您可能需要将日期格式化为ModelBInder的方便格式

e、 g


好的,那么格式是错误的尝试发送值,就像我再次编辑我的回答,但不工作。我尝试发送一个简单的数据字符串,在操作中更改参数,但也不起作用。与下面的问题相比,我没有看到任何区别,除了格式末尾的“tt”部分。谢谢,你说得对,它起作用了。如果您使用:data:{data:kendo.toString(护墙板,“d”)可以很好地工作太好了。非常感谢@Petur SubevOkey,那么格式不对,请尝试发送值,就像我再次编辑我的应答一样,但不起作用。我尝试发送一个简单的数据字符串,在操作中更改参数,但也不起作用。除了格式末尾的“tt”部分外,我看不出与以下问题有任何区别。Thank you,你是对的,它成功了。如果你使用:data:{data:kendo.toString(dado,“d”)也可以很好地工作。非常感谢@Petur subev。如果你收到任何错误消息,请编辑问题并发布。如果你收到任何错误消息,请编辑问题并发布。
data: {date:dado},
data:{date:kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}",dado)}