Частичное отображение ASP.NET MVC с jQuery ajax

У меня есть действие контроллера, которое отображает частичное представление:

public ActionResult Details(int id)
{
    DetailsViewModel model = 
        ModelBuilder.GetDetailsViewModel(id, _repository);
    return PartialView("Details", model);
}

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

$container = appendContainer(); // adds a div to the dom with the correct id
$container.load("MyController/Details", function(response, status, xhr) {
    if (status != "success") {
        $(container).html('an error has occured');
    }
});

таким образом создается div, а затем загружается возвращенный содержимое в этот div.

Я хочу немного изменить это, чтобы контейнер div создавался только в случае успешного вызова контроллера.

Итак:

  1. jQuery вызывает действие контроллера.
  2. контроллер возвращает PartialView или null, если Id не найден
  3. Если возвращается PartialView, контейнер создается и загружается с возвращенным содержимым.
  4. Если контроллер не находит идентификатор, контент не создается и отображается предупреждение.

Буду признателен за любые советы о том, как мне лучше всего этого добиться.

6
задан Nick Craver 6 September 2010 в 12:10
поделиться