Вызвать контроллер из функции JavaScript - PullRequest
0 голосов
/ 19 апреля 2011

Я пытаюсь вызвать метод контроллера из функции javascript, я прочитал, что его можно использовать с jquery .ajax.Дело в том, что я не хочу получать результат, контроллер отображает представление на основе идентификатора, который я посылаю через ajax.У меня есть следующий код, но он ничего не делает ...

(эта функция вызывается флэш-объектом)

function display(number) {

       $.ajax({
          type: "POST",
          url: "/Controller/Method",
          data: "id=" + number});

}

Вот как выглядит метод контроллера:

 [HttpPost]
 public ActionResult Method(int? id) {

   object = //do the query.

   return View(object);


 }

Ответы [ 3 ]

1 голос
/ 19 апреля 2011

Если вы хотите обновить свой HTML через ajax, вы должны обновить содержимое вашего веб-сайта в функции обратного вызова вашего запроса ajax.Если вы просто хотите перейти на новую страницу с возвращенным HTML, просто используйте метод window.location.

В обоих случаях убедитесь, что вы делаете это в функции обратного вызова успешного вызова ajax.

1 голос
/ 19 апреля 2011

Вы можете вернуть JsonResult, если обнаружите запрос AJAX:

if (Request.IsAjaxRequest()) {
    return Json(new { Status = "OK" });
} else {
    return View();
}
0 голосов
/ 19 апреля 2011

Вы можете вернуть PartialView, который вернет HTML, который вы можете использовать для обновления DOM, но похоже, что вы просто хотите сделать запрос к URL-адресу напрямую, в этом случае просто выполните

window.location = "/url_to_you_controller_action/{id to view}";

Предполагая, что у вас есть маршрут, соответствующий URL-адресу, на который вы делаете запрос, действие контроллера может взять идентификатор из значений маршрута.

AJAX-запросы обычно предназначены для случаев, когда вы хотите установить связь с сервером без выполнения запроса на полную страницу и обновления. Обычно это сообщение что-то возвращает, но не всегда, но если оно что-то возвращает, то обычно некоторым способом манипулируют DOM с данными, возвращаемыми с сервера.

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