ASP.NET MVC retorna visão vazia

112

Qual é a maneira mais natural de retornar um ActionResult vazio (para ação filho)?

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

   return View(RealView);
}

Uma opção que posso ver é criar uma visualização vazia e referenciá-la em EmptyView ... mas pode haver alguma opção embutida?

SiberianGuy
fonte
O View () não tem a opção de retornar apenas texto? Se sim, envie uma string vazia.
Andy Hunt

Respostas:

228

instância de retorno da classe EmptyResult

 return new EmptyResult();
Archil
fonte
1
Em uma ação que retorna EmptyResult, é o mesmo que fazer return null?
Robin Maben
1
@RobinMaben: Não, null não retornaria um objeto do método. EmptyResult, entretanto, irá.
cederlof de
1
Eu voltaria nullporque internamente ele vai usar o internal EmptyResult.Instanceque você não consegue acessar sozinho. Isso salva a instanciação repetida de um objeto sem estado.
Jorrit Schippers de
8

se não quiser devolver nada, pode fazer algo como

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

   return View(RealView);
Muhammad Adeel Zahid
fonte
16
retornar novo EmptyResult (); é a abordagem preferida
RickAndMSFT