Как использовать действие контроллера ASP.Net MVC, используя Ajax, чтобы вернуть разницу между двумя датами в форме? - PullRequest
0 голосов
/ 12 апреля 2011

Я использую MVC3 и у меня есть представление, которое используется, чтобы забронировать отпуск для сотрудников.В рамках этого я хочу отобразить количество дней, которые нужно взять, основываясь на двух датах, которые они вводят - я сделал это в зачаточном состоянии с использованием jQuery, но хочу использовать действие контроллера, которое у меня есть, которое вернетодно значение, основанное на двух датах (оно учитывает выходные и праздничные дни).

Вопрос в том, как лучше всего передать значения DateFrom и DateTo (два входа) в контроллери получить результат с помощью Ajax?Я хочу, чтобы это значение обновлялось при изменении любой из дат и без отправки всей формы.

Я не уверен в лучшей практике для такого рода вещей, поэтому любая помощь будет оценена.

1 Ответ

2 голосов
/ 12 апреля 2011

Вопрос в том, как лучше всего передать значения DateFrom и DateTo (два входа) в контроллер и получить результат, используя Ajax?

Вы можете подписатьсяна событие изменения этих текстовых полей и отправьте запрос AJAX:

$(function() {
    $('#DateFrom, #DateTo').change(function() {
        // whenever the user changes the value send an AJAX request:
        $.ajax({
            url: '@Url.Action("SomeAction", "SomeController")',
            type: 'POST',
            contentType: 'application/json; charset=utf-8', 
            data: JSON.stringify({ 
                dateFrom: $('#DateFrom').val(), 
                dateTo: $('#DateTo').val() 
            }),
            success: function(result) {
                // TODO: The AJAX call succeeded => do something with the results
            }
        });
    });
});

, и действие контроллера может выглядеть следующим образом:

public ActionResult SomeAction(DateTime dateFrom, DateTime dateTo)
{
    ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...