I tienen una acción de controlador que hace una vista parcial:ASP.NET MVC representación vista parcial con jQuery ajax
public ActionResult Details(int id)
{
DetailsViewModel model =
ModelBuilder.GetDetailsViewModel(id, _repository);
return PartialView("Details", model);
}
y estoy de cargar el contenido devuelto en un elemento dinámico de la siguiente manera:
$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');
}
});
por lo que esto crea un div y luego carga el contenido devuelto en ese div.
Quiero modificar esto ligeramente para que el contenedor div solo se cree si la llamada al controlador es exitosa.
Así:
- jQuery llama a la acción del controlador del controlador
- vuelve PartialView, o null si no encontrado Id
- Si se devuelve PartialView, se crea y se carga con el contenido devuelto el contenedor.
- Si el controlador no encuentra el Id, no se crea contenido y se muestra una alerta.
Agradecería cualquier sugerencia sobre cómo podría lograr esto.
Mis reservas con esto es que estoy usando esencialmente una excepción no capturada en mi opinión para el fin para devolver un no/encontrado estado nulo a la interfaz de usuario. Prefiero devolver un nulo de mi controlador si no se encuentra el elemento, pero no pude ver una manera de hacer que este enfoque funcione con eso. Solo me parece un poco olor a código. – fearofawhackplanet
@fearofawhackplanet - Actualicé mi respuesta. – GenericTypeTea