Pergunta

Estou curioso quando é recomendável usar o método de extensão Htmlhelper e quando usar a visão parcial? Eles parecem ser igualmente elegíveis em muitos casos.

Foi útil?

Solução

Pessoalmente, acho que a visão parcial é mais ou menos semelhante ao UserControl no ASP.NET, que atua como um grupo de elementos funcionais reutilizáveis. Por exemplo, se você precisar fazer uma caixa de controle de login que possa aparecer em todo o site, a visualização parcial seria melhor. Além do mais para a visão parcial, é realmente independente com sua própria estratégia de renderização/processamento (e também pode ter seu próprio estado)

Por outro lado, o HtmlHelper é apenas ferramentas para economizar tempo de codificação e manter, de alguma forma, melhor legibilidade nos seus códigos.

Outras dicas

Htmlhelpers - pequenos bits de html (links personalizados, botões, entradas, etc)

Views parciais - coisas mais complexas (formas, cabeçalhos, rodapés, itens de listagem etc.)

É muito mais fácil escrever testes para ajudantes HTML (que são apenas métodos) do que visualizações parciais. Se estou escrevendo algo que tenha lógica, como saída diferente com base no conteúdo do ViewData, uso um ajudante com testes ao seu redor. Se eu estiver criando um conteúdo reutilizável sem qualquer lógica real, provavelmente usarei uma visualização parcial.

Apenas para acrescentar: você usará HtmlHelper para renderizar elementos no UserControl, se htmlhelpers existentes não puderem fazer o trabalho ... então vamos colocar isso como uma regra:

No cenário, quando você usa htmlhelper em vez de userControl (visualização parcial) é uma abordagem e cenário ruim quando você usa htmlhelper como auxiliar para renderizar elementos de atom de uma página/userControl é uma boa abordagem

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top