Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Razor

Na última parte do curso foi utilizado o Razor e utilizado código c# dentro do arquivo HTML. Esse é o padrão da indústria? Achei estranho estar escrevendo aquele código ali e para mim parecia mais natural como estávamos fazendo antes, utilizando marcadores no arquivo HTML e fazendo as alterações no código do controller. Gostaria de saber também se existem outras formas de se fazer isso.

2 respostas

É bem forte sim... O controller prepara as informações e a view exibe do jeito que achar melhor.

solução!

Oi, Ulisses, tudo bem?

O Razor, view engine padrão do AspNet MVC, permite que utilizemos código csharp dentro das páginas. Então é possível colocar código desnecessário dentro de uma view, por exemplo:

@ {
    var diasDaSemana = new List<string>
    {
        "Segunda",
        "Terça",
        "Quarta",
        "Quinta",
        "Sexta",
        "Sábado",
        "Domingo"
    };
}

<ul>
@foreach(string dia in diasDaSemana)
{
    <li>@dia</li>
}
</ul>

Cabe ao desenvolvedor usar seu senso crítico (como você bem o fez!) para separar código específico para aquela view de código que pode ser utilizado em outros pontos de sua aplicação.

Em relação a sua pergunta sob padrões de mercado: em minha experiência o Razor continua sendo o padrão para views em aplicações AspNet (quem tiver outras opiniões, por favor se manifeste aqui). Entretanto, não é recomendado escrever muito código nas views Razor, apesar de ser possível. Como o Alberto escreveu, deixe para o controlador preparar as informações que serão usadas nas views.

Além disso, o Razor pode ser trocado por outras view engines, que usam seus próprios padrões de templating (como o motor irá substituir algum script por informação dinâmica).

Sua preocupação também foi a dos membros do time que desenvolveram o AspNet Core MVC. Para melhorar a limpeza do HTML de suas views, o time criou os chamados Tag Helpers, onde o código fica escondido nas tags HTML através de atributos que começam com o prefixo asp. Se você for utilizar o Core em suas aplicações, vale a pena estudar e usar os tag helpers!

Espero que tenha ajudado em sua questão.