É necessário ter uma visão separada para cada ação do controlador?
-
04-07-2019 - |
Pergunta
Existe uma relação obrigatória entre a ação do controlador e uma View? Eu quero dizer é que é necessário ter uma visão física (página .aspx) para cada ação dentro de uma classe Controller?
Solução
Não existe qualquer relação obrigatória entre a ação do controlador e uma vista. O controlador é responsável por devolver um ActionResult. A maneira mais comum de fazer isso é usando um View, mas eles não estão com fio. Uma visão pode ser compartilhada entre os controladores, por exemplo.
Além disso, um Controller, pode lidar com o pedido puramente por conta própria, retornando um redirecionamento, ou um resultado JSON, ou até mesmo seu próprio html (embora não recomendado).
Outras dicas
Você também pode retornar coisas como ContentResult em uma ação:
public ContentResult Index()
{
return Content("Foobar!");
}
Se este fosse chamado diretamente, isso seria semelhante a:
Response.Write("Foobar!");
Response.End();