Как использовать AJAX Post для вызова действия ASP.NET MVC Controller и возврата нового представления? - PullRequest
0 голосов
/ 16 августа 2010

Я работаю на сайте в ASP.NET MVC, где пользователю предоставляется календарь, и при нажатии на определенную календарную дату запускается следующая функция:

function selectHandler(event, data) {
            var myRequest = new Request.HTML({
                url: '/Calendar/EventList',
                method: 'post',
                data: { datedata: data.toString() },
                update: $('postback'),
            }).send();
        };

Я использую классы MooTools AJAXчтобы вызвать мой Controller Action / Calendar / EventList, как показано ниже:

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult EventList(string datedata)
    {

                CalendarViewData viewData = new CalendarViewData 
                { EventList = GetEventsList(datedata) };

                return View(viewData);
    }

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

Я подозреваю, что мне нужно добавить больше к моей функции JavaScript, но я не уверен, что.Есть идеи?

1 Ответ

1 голос
/ 16 августа 2010

Почему браузер перенаправляет?Вы отправляете запрос AJAX в действие контроллера, которое возвращает представление (это, вероятно, неправильно, вам может потребоваться вернуть частичное представление), которое затем используется для обновления какого-либо элемента в DOM.Если вы хотите перенаправить, вы можете использовать простой тег привязки (или form, если вам нужно POST), нет необходимости использовать javascript.

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