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?

Chico siberiano
fuente
¿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();
Archil
fuente
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);
Muhammad Adeel Zahid
fuente
16
return new EmptyResult (); es el enfoque preferido
RickAndMSFT