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?


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();

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);

16
return new EmptyResult (); jest preferowanym podejściem
RickAndMSFT
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.