Календарь кендо: как я могу отправить дату контроллеру при изменении события? (расширения MVC)

Я сделал следующий пример, но он не работает:

Дом контроллера:

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>

Почему, когда я меняю дату в календаре, параметр на контроллере равен нулю? Функция $Ajax работает нормально; у вар дадо свидание.


person lampada    schedule 21.03.2013    source источник
comment
Пожалуйста, отредактируйте вопрос и отправьте сообщение, если вы получите какие-либо сообщения об ошибках.   -  person Jess    schedule 28.03.2013


Ответы (1)


Попробуйте отправить значение как объект пары Key/Value. например

data: {date:dado},

Также вам может понадобиться отформатировать дату в удобном для ModelBIder формате.

e.g.

data:{date:kendo.format("{0:dd/MM/yyyy hh:mm:ss tt}",dado)}
person Petur Subev    schedule 21.03.2013
comment
Хорошо, тогда формат неверен, попробуйте отправить значение, как я отредактировал свой ответ. - person Petur Subev; 21.03.2013
comment
tks снова, но не работает. Я попытался отправить простую строку данных, изменив параметр действия, но тоже не работает. - person lampada; 22.03.2013
comment
Я не вижу никакой разницы по сравнению со следующим вопросом stackoverflow.com/questions/6076961/, за исключением части "tt" в конце форматирования. - person Petur Subev; 22.03.2013
comment
Спасибо, вы правы, это сработало. Отлично работает, если вы используете: data: { data: kendo.toString(dado, d) тоже. большое спасибо @Petur-Subev - person lampada; 22.03.2013