Pergunta

Alguém aí usando o novo CSHTML recurso de páginas e está achando que eles preferem este novo mecanismo de exibição de sintaxe sobre o existente ASP.NET MVC mecanismo de exibição padrão ou através de formulários da web e, em caso afirmativo, por quê?O que sobre CSHTML dá-lhe uma vantagem sobre MVC ou formulários da web, ou vice-versa?

Curioso para ouvir as pessoas sobre ele.

Foi útil?

Solução

Um dos benefícios é que as visualizações de barbear podem ser renderizadas nos testes de unidade, isso é algo que não foi facilmente possível com o renderizador anterior do ASP.NET.

A partir de O anúncio de Scottgu Isso está listado como uma das metas de design:

Unidade testável: A nova implementação do View Engine apoiará a capacidade de visualizações de teste de unidade (sem exigir um controlador ou servidor da Web e poderá ser hospedado em qualquer projeto de teste de unidade-não é necessário domínio de aplicativo especial).

Outras dicas

A opinião do desenvolvedor da Microsoft

Eu trabalhei em uma equipe central para o site do MSDN. Agora, eu uso o C# Razor para sites de comércio eletrônico com minha equipe de programação e focamos pesado no front-end do jQuery com as páginas do back-end C# Razor e o banco de dados de memória Linq-entity, para que as páginas sejam de 1-2 milissegundo tempos de resposta, mesmo em loops aninhados com consultas e sem cache de páginas. Não usamos o MVC, simplesmente o ASP.NET com páginas de barbear sendo mapeadas com o módulo de reescrita de URL para o IIS 7, sem páginas ASPX ou programação de eventos do ViewState ou do servidor. Ele não possui as camadas extras (desnecessárias) que o MVC coloca nas construções de código para o Regex desafiado. Menos é mais para nós. É tudo magro e mau, mas eu dou adereços ao MVC por sua testabilidade, mas isso é tudo.

As páginas de barbear não têm um ciclo de vida do evento, como as páginas ASPX. É apenas renderizar como uma página solicitada. C# é um idioma tão bom e Razor fica fora do seu caminho para deixá -lo fazer seu trabalho. A digitação anônima com genéricos e LINQ facilita a vida com as páginas C# e Razor. O uso de páginas de barbear ajudará você a pensar e codificar mais leve.

Uma das desvantagens de Razor e MVC é que não há persistência do tipo Viewstate. Eu precisava implementar uma solução para isso, então acabei escrevendo um plugin jQuery para isso aqui -> http://www.jasonsonsebring.com/dumbformstate que é um plug -in de armazenamento offline HTML 5 para o estado de formulário que está funcionando em todos os principais navegadores agora. É apenas para o estado de formulário atualmente, mas você pode usar o Window.SessionStorage ou Window.LocalStorage simplesmente para armazenar qualquer tipo de estado em postagens ou até solicitações de página, eu apenas me preocupei em torná -lo automático e o nome de nome com base no URL e no FORM INDEX SO Você não precisa pensar sobre isso.

  1. Tudo é codificado por padrão !!! Isso é muito enorme.

  2. Os ajudantes declarativos podem ser compilados para que você não precise fazer nada de especial para compartilhá -los. Eu acho que eles substituirão os controles .ASCX até certo ponto. Você precisa pular por alguns aros para usar um controle .ASCX em outro projeto.

  3. Você pode fazer uma seção necessária, o que é bom.

O maior benefício é que o código é mais sucinta.O VS editor também terá o suporte a IntelliSense que alguns dos outros mecanismos de exibição não tem.

Declarativa HTML Helpers também olhar muito legal de como fazer auxiliares HTML dentro do código C# me faz lembrar de controles personalizados no ASP.NET.Eu acho que eles tomaram uma página de parciais, mas com o código inline.

Assim, alguns benefícios importantes sobre o asp.net mecanismo de exibição.

Com contraste para um mecanismo de exibição, como a faísca que:

Spark é ainda mais sucinta, pode manter-se e loops dentro de uma tag de html em si.A marcação ainda só se sente mais natural para mim.

Você pode codificar os parciais exatamente como você faria uma declarativa auxiliar, que tinha acabado de passar variáveis para o parcial, e você tem a mesma coisa.Este tem sido em torno com ignição por bastante tempo.

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