DevExpress DateEdit с использованием MVC - PullRequest
1 голос
/ 13 октября 2011

Я только что начал использовать элемент управления <% Html.DevExpress (). DateEdit (), и у меня все заработало в моем приложении ASP.Net MVC.Код такой, как показано ниже: </p>

Страница aspx:

<% Html.DevExpress().DateEdit(settings => { settings.Name = "EndDate"; settings.Properties.NullText = "dd/MM/yyyy"; settings.Properties.EditFormat = EditFormat.Custom; settings.Properties.EditFormatString = "dd/MM/yyyy"; settings.Properties.DisplayFormatString = "dd/MM/yyyy"; settings.Date = Model.EndDate; settings.Width = 100;<br> } ).Render(); %>

Над этим кодом у меня есть ссылка на мой файл JavaScript (DateChanges.js) в этом файлеЯ хочу иметь возможность сделать что-то вроде:

$(document).ready(function(){
    $("#EndDate").change(function(){
        //do whatever i want
    });

})

Я не могу сделать это сейчас, потому что с помощью Firefox я вижу, что фактическое текстовое поле, которому этот DatePicker назначает значение, называется "EndDate_I".Поэтому мой вопрос заключается в том, как мне легко это сделать, поскольку я хочу иметь возможность перехватить событие изменения этого элемента управления и поэкспериментировать с ним в jQuery ??

Ответы [ 3 ]

7 голосов
/ 13 октября 2011

Расширения DevExpress MVC предлагают собственную инфраструктуру для нужд обработки на стороне клиента (см. Раздел справки http://help.devexpress.com/#AspNet/CustomDocument6908 для начала работы).

Необходимо обработать ASPxClientDateEdit на стороне клиента.DateChanged и извлекает вновь выбранную дату через клиентский метод ASPxClientDateEdit.GetDate ()Используйте извлеченный объект js Date для своих дополнительных нужд:

<script type="text/javascript">
    function OnDateChanged(s, e) {
        var newDate = s.GetDate();
        alert(newDate);
    }
</script>

settings.Properties.ClientSideEvents.DateChanged = "OnDateChanged";
0 голосов
/ 12 ноября 2011

После вашего комментария к ответу Михайлса в глобальном пространстве имен будет свойство с именем вашего элемента управления, поэтому оно выглядит так:

CalculateDayDifference(s.GetDate(), EndDate.GetDate());

Все элементы управления mvc делают это,для некоторых вам может понадобиться установить свойство EnableClientSideApi, чтобы начать их использовать.

0 голосов
/ 13 октября 2011

В http://kennytordeur.blogspot.com/2011/05/aspnet-mvc-where-is-clientid_10.html есть довольно длинное сообщение в блоге, где обсуждается ваша проблема

(я думаю, что это долго, чтобы вставить это здесь, и автор заслуживает кредитов)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...