Como obter um arquivo 'codebehind' para uma exibição ASP.NET-MVC no RC1 a ser criada por padrão

No RC1, o comportamento do modelo para criar uma exibição foi alterado.

Conforme explicado pelo post de Scott Gu sobre ocandidato à liberação uma exibição aspx recém-criada não tem mais um arquivo code-behind por padrão.

Com base nos comentários, alteramos os modelos de exibição para não ter um arquivo code-behind por padrão. Essa alteração ajuda a reforçar o objetivo das exibições em um aplicativo MVC (que se destina a ser puramente sobre renderização e não conter nenhum código relacionado à não renderização) e, para a maioria das pessoas, elimina arquivos não utilizados no projeto.

A versão RC agora adiciona suporte à sintaxe C # e VB para herdar modelos de exibição de classes base que usam genéricos. Por exemplo, abaixo, estamos usando isso com o modelo de exibição Edit.aspx - cujo atributo "herda" deriva do tipo ViewPage:

Eu realmente gosto de poder escrever código específico da view no code-behind para apenas exibir a view - especialmente se eu tiver lógica repetida em várias partes da página onde não posso justificar a criação de uma view parcial.

Minha pergunta real: Scott dissepor padrão - o que implica que posso mudar esse comportamento, mas não consigo ver onde. É possível? Criar manualmente um código por trás de um arquivo e mudar as coisas ao redor é uma dor.

Isso também causa um problema adicional:

Se eu refatorar o nome do meu modelo, a diretiva na Visualização não será atualizada. Este não é o fim do mundo, mas uma vantagem distinta de ser totalmente digitado.

Termo aditivo: Para aqueles que se perguntam POR QUE eu gostaria de um código aqui, estão algumas das possíveis razões. Esta é uma lista cumulativa de quase tudo o que pensei. Escusado será dizer (bem, deveria) que você não deve acessar outros dados além daqueles que já estão no modelo. O LINQ seria bom para manipulação simples dos dados do modelo, mas o LINQ to SQL NÃO! O MVC é para pessoas que já devem saber disso - é por isso que eu amo isso - criado por pessoas inteligentes PARA pessoas inteligentes.

Controles ASP.NET herdados da ligação de dados - se uma alternativa não estiver disponível ou se for necessária uma solução temporária.Veja a lógica que requer recursão para criar algum tipo de HTML aninhado ou hierárquico.Veja a lógica que usa variáveis temporárias. Recuso-me a definir variáveis locais na minha sopa de tags! Eu os gostaria como propriedades na classe view, no mínimo.Lógica específica apenas para uma visualização ou modelo e não pertence a um HtmlHelper. Como uma observação lateral, acho que um HtmlHelper não deve saber sobre nenhuma classe 'Model'. Tudo bem se ele souber sobre as classes definidas dentro de um modelo (comoIEnumerable<Product>, mas acho que, por exemplo, você nunca deveria ter um HtmlHelper que leva umProductModel.Os métodos HtmlHelper acabam se tornando visíveis em TODAS as suas visualizações quando você digitaHtml+dot e eu realmente quero minimizar essa lista o máximo possível.E se eu quiser escrever um código que useHtmlGenericControl e outras classes nesse namespace para gerar meu HTML de uma maneira orientada a objetos (ou eu tenho um código existente que faz isso que eu quero portar).E se eu estiver planejando usar um mecanismo de exibição diferente no futuro. Convém manter um pouco da lógica além da sopa de tags para facilitar a reutilização mais tarde.E se eu quiser renomear minhas classes Model e fazê-lo refatorar automaticamente minha visualização sem precisar ir para o view.aspx e alterar o nome da classe.E se eu estiver coordenando com um designer de HTML no qual não confio para não estragar a 'sopa de tags' e quiser escrever algo além de um loop muito básico no arquivo .aspx.cs.

Eu acho que as pessoas são tendenciosas contra o 'code-behind', uma vez que tradicionalmente foi interpretado como 'código de manipulação de eventos' em oposição a 'a outra metade da classe parcial de uma exibição', que é o que é.

O code-behind para visualizações está ótimo.

Não estou discordando de que isso atrapalha um pouco a estrutura da pasta, mas é isso que+ ícone é para. Eu só quero a capacidade de criar uma exibição com código atrás usando 'Adicionar exibição'.

questionAnswers(1)

yourAnswerToTheQuestion