O equivalente do ASP.NET do lado do servidor inclui

Embora o método ASP clássico de inclusão no servidor funcione no ASP.NET, tenho a impressão de que não é o método preferido. Como eu “deveria” estar conseguindo o mesmo efeito?

É assim que estou fazendo no momento:

Agora você tem várias opções que fornecem esse efeito, mas de uma maneira diferente.

  • Controles do usuário (.ascx)
  • Páginas Mestras (.master)
  • Controles do lado do servidor (.dll)
  • Bibliotecas de classs (.dll)
  • Classes App_Code (.cs / .vb)

Cada um é usado de forma diferente para alcançar coisas diferentes. Depende do que você está realmente tentando fazer. Dado o nome do seu arquivo de inclusão, imagino que você esteja tentando include funções de biblioteca que serão usadas no contexto de sua página.

Conseqüentemente, você escreveria uma biblioteca de classs que contenha os methods e os importaria para seu aplicativo / aspx.

Se você está pensando em criar uma página que faça a maior parte do trabalho de layout para fornecer um corpo para conteúdo diferente, então você estará interessado nas Páginas Mestras.

Se você está olhando para controles de templates que podem ser usados ​​em muitas páginas, então você estará após o User Controls.

Se você estiver olhando para os controles de modelos que podem ser usados ​​por muitos usuários em vários projetos, você estará analisando os controles do lado do servidor.

Se você está olhando para uma biblioteca de classs / methods, então você desenvolverá uma biblioteca de classs ou usará uma class app_code que pode ser compilada na primeira vez que é chamada. Isso poderia ser considerado mais como um ASP clássico, mas na verdade funciona mais como uma class de uma biblioteca de classs como uma única unidade. Você pode chamá-lo de dentro de seu codebehind ou dentro de tags <%%> em seu código aspx / ascx sem precisar de uma referência a uma biblioteca de classs.

Nós realmente não usamos mais “includes” per se, mas cada uma dessas ferramentas em seu kit de ferramentas permite que você forneça conceitos semelhantes para diferentes cenários. Como desenvolvedor, você interagirá com todo o ciclo de vida de suas páginas da Web de maneira diferente. O ASP.NET é um animal muito diferente do ASP clássico. Realmente, é preciso uma visão / abordagem diferente e será necessária alguma paciência para descobrir as diferenças.

Como sobre <% Response.WriteFile("myFile.aspx) %> ?

Consulte: https://support.microsoft.com/kb/306575

Se você estiver usando o ASP.NET MVC, então o Html.RenderPartial é seu amigo aqui.

http://msdn.microsoft.com/pt-br/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

Uma visão parcial pode ser implementada como .ascx ou .aspx e colocar a chamada acima em sua página “primária” basicamente diz “obtenha a saída desta visão parcial e a renderize aqui”.

As visualizações parciais podem fazer uso dos ViewData que sua visão principal recebeu do controlador.

Parece que o que você precisa olhar é todo o conceito de MasterPages .

A menos que você esteja olhando apenas para importar funções e outros utilitários (não conteúdo html). Se esse for o caso (e você estiver usando o modelo code-behind), deverá include apenas o arquivo ou namespace apropriado usando o comando imports na parte superior da página .vb (ajuste de acordo com o C #).