ASP.NET MVC devuelve una vista vacía


112

¿Cuál es la forma más natural de devolver un ActionResult vacío (para la acción secundaria)?

public ActionResult TestAction(bool returnValue)
{
   if (!returnValue)
     return View(EmptyView);

   return View(RealView);
}

Una opción que puedo ver es crear una vista vacía y hacer referencia a ella en EmptyView ... pero ¿puede haber alguna opción incorporada?


¿No tiene View () una opción para devolver solo texto? Si es así, envíe una cadena vacía.
Andy Hunt

Respuestas:


227

devolver instancia de la clase EmptyResult

 return new EmptyResult();

1
En una acción que vuelve EmptyResult, ¿es lo mismo que hacer return null?
Robin Maben

1
@RobinMaben: No, null no devolvería un objeto del método. EmptyResult sin embargo lo hará.
cederlof

1
Me gustaría volver null, porque internamente, se utilizará la internal EmptyResult.Instanceque no se puede acceder a sí mismo. Esto evita la creación repetida de instancias de un objeto sin estado.
Jorrit Schippers


8

si no quieres devolver nada puedes hacer algo como

if (!returnValue)
     return Content("");

   return View(RealView);

16
return new EmptyResult (); es el enfoque preferido
RickAndMSFT
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.