ASP.NET - Inline vs. Code -Behind
-
05-07-2019 - |
Pergunta
Percebo que, ao fazer essa pergunta, eu poderia ter iniciado o Apocalypse, mas um colega meu usa muita codificação em linha em suas páginas ASPX, onde prefiro usar o código-behind.
Existe um caminho certo e errado aqui?
Solução
A menos que seu padrão de codificação diga o contrário.
O Código da IMO-Behind ajuda a separação de preocupações, então eu prefiro isso, mas às vezes apenas lidar com um arquivo também é bom.
Outras dicas
O código-behind é o local mais tradicional e lógico. Se funcionar, funciona, mas não suporto fazer isso no ASPX.
Eu fiz o post exato um pouco atrás:
ONDATABINDING VS PONTE: PROS, CONTROS E OVERSO
Eu prefiro o código para trás. Normalmente, tenho uma área #Region para todas as coisas do banco de dados. Ele permite que as pessoas qualificadas no HTML / CSS ajustem o HTML e tudo o que eles precisam saber é quais controles básicos usar e definir o evento de Ondatabinding na definição do controle. Eles podem mover as coisas e fazer o que for e não ter conhecimento do que é realmente necessário para colocar os dados nesse banco de dados, pois podem não ser tão simples quanto apenas uma 'avaliação básica ("algo";
Bem, há código embutido e depois há código embutido. Se você tiver um bloco de script na parte superior para você Page_load, tudo bem. Mas se você estiver misturando muitas bilhetes (<% %>
) Com a marcação, você começará a ter problemas quando essas bilhetes não funcionarem como gostaria com outros controles do servidor.
Pessoalmente, prefiro erros de compilação para erros de tempo de execução, então coloquei toda a minha lógica no código dos bastidores.
Ocasionalmente, quando eu só preciso de um valor para aparecer na página, colocarei <%= algum valor%>, mas mesmo assim eu prefiro criar uma etiqueta e defini -la.
Quero ter certeza de que entendi a pergunta - em linha, você quer dizer trechos como
<a><% some.asp.net.code %></a>
Ou você quer dizer um vs. dois arquivos para cada página:
page.aspx
page.aspx.cs
?
Porque eu não sou fã do que chamo de código 'incorporado' no primeiro exemplo, mas prefiro código e marcação no mesmo arquivo com um <script runat = "server">
Não há certo/errado com isso.
Você pode escrever algum código embutido e alguns deles devem ser escritos em código-behind. Não pode ser absoluto. Depende de quão legível/sustentável isso se torna quando você o escreve do outro lado.
EDIT: Como é dito, escreva código para humanos e aliás para o compilador.
Costumo usar o código-behind, pois é a única maneira de o WPF e tento me manter consistente e parece mais natural. Mas isso é subjetivo.