ASP.NET MVC renvoie une vue vide

112

Quelle est la manière la plus naturelle de renvoyer un ActionResult vide (pour une action enfant)?

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

   return View(RealView);
}

Une option que je peux voir est de créer une vue vide et de la référencer à EmptyView ... mais peut-être y a-t-il une option intégrée?

SibérienGuy
la source
View () n'a-t-il pas la possibilité de renvoyer uniquement du texte? Si tel est le cas, envoyez une chaîne vide.
Andy Hunt

Réponses:

228

retourne l'instance de la classe EmptyResult

 return new EmptyResult();
Archil
la source
1
Dans une action qui revient EmptyResult, est-ce la même chose que faire return null?
Robin Maben
1
@RobinMaben: Non, null ne retournerait pas un objet de la méthode. EmptyResult le fera cependant.
cederlof
1
Je reviendrai nullcar en interne, il utilisera le internal EmptyResult.Instanceauquel vous ne pouvez pas accéder vous-même. Cela évite l'instanciation répétée d'un objet sans état.
Jorrit Schippers
8

si vous ne voulez rien retourner, vous pouvez faire quelque chose comme

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

   return View(RealView);
Muhammad Adeel Zahid
la source
16
return new EmptyResult (); est l'approche préférée
RickAndMSFT