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?


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

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

16
retornar novo EmptyResult (); é a abordagem preferida
RickAndMSFT
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.