ASP.NET MVC zwraca pusty widok

112

Jaki jest najbardziej naturalny sposób zwrócenia pustego elementu ActionResult (w przypadku akcji podrzędnej)?

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

   return View(RealView);
}

Jedną z opcji, które widzę, jest utworzenie pustego widoku i odwołanie się do niego w EmptyView ... ale czy może jest tam jakaś wbudowana opcja?

SiberianGuy
źródło
Czy View () nie ma opcji zwracania samego tekstu? Jeśli tak, wyślij pusty ciąg.
Andy Hunt

Odpowiedzi:

228

zwraca wystąpienie klasy EmptyResult

 return new EmptyResult();
archil
źródło
1
Czy powracająca akcja EmptyResultjest tym samym, co robienie return null?
Robin Maben
1
@RobinMaben: Nie, null nie zwróci obiektu z metody. Jednak EmptyResult będzie.
cederlof
1
Wróciłbym, nullponieważ wewnętrznie użyje tego internal EmptyResult.Instance, do którego nie masz dostępu. Oszczędza to wielokrotne tworzenie instancji obiektu bezstanowego.
Jorrit Schippers
8

jeśli nie chcesz nic zwrócić, możesz zrobić coś takiego

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

   return View(RealView);
Muhammad Adeel Zahid
źródło
16
return new EmptyResult (); jest preferowanym podejściem
RickAndMSFT