Pergunta

Qual forma você prefere criar seus formulários em MVC?

<% Html.Form() { %>
<% } %>

Ou

<form action="<%= Url.Action("ManageImage", "UserAccount") %>" method="post">
</form>

Entendo que Html.Form() a partir do PR5 agora usa apenas o URL fornecido pela solicitação.No entanto, algo sobre isso não me agrada, especialmente porque receberei toda a bagagem de quaisquer strings de consulta incluídas.

Qual é a sua opinião?

Foi útil?

Solução

A segunda maneira, definitivamente.A primeira maneira é centrada no programador, e não é disso que trata a parte V do MVC.A segunda forma é mais centrada no designer, vinculando-se ao modelo apenas onde for necessário, deixando o HTML o mais natural possível.

Outras dicas

No geral, acho que sou um pouco antiquado, pois prefiro criar meus próprios elementos HTML.

Eu também prefiro um mecanismo de visualização como NHaml, o que torna a escrita de HTML quase uma ordem de magnitude mais simples.

Tenho que concordar com vocês dois, não gosto muito desse estilo simplista de WebForms que parece estar se integrando ao MVC.Esse material quase parece que deveria ser uma biblioteca de terceiros ou, pelo menos, uma biblioteca de extensões que pode ser incluída se necessário ou desejado.

Sou totalmente de acordo com o HTML da velha escola, é isso que os designers usam.Não gosto de incluir muita sintaxe centrada no código por esse motivo.Eu trato o mecanismo de visualização de formulários da web como uma biblioteca de terceiros, porque o substituí por um mecanismo de visualização diferente.Se você não gosta da maneira como o modelo de visualização de formulário da web funciona ou da direção que ele está tomando, você sempre pode seguir um caminho diferente.Essa é uma das principais razões pelas quais adoro o ASP.NET MVC.

Eu concordo com Andrew Peters, SECO.Também deve ser salientado que você pode especificar seu controlador, ação e parâmetros para o auxiliar .Form() e se eles se enquadrarem em suas regras de roteamento, nenhum parâmetro de string de consulta será usado.

Eu também entendo o que Will estava dizendo sobre o V no MVC.Na minha opinião não acho que seja um problema colocar código na view desde que seja para a vista.É realmente fácil cruzar a linha entre o controlador e a visualização se você não tomar cuidado.Pessoalmente, não suporto usar C# como mecanismo de modelo sem que meus olhos sangrem ou sintam vontade de matar alguém.Isso me ajuda a manter minha lógica separada, lógica do controlador em C#, visualizar lógica em brail.

A razão para usar auxiliares é que eles permitem encapsular padrões comuns de maneira consistente e SECA.Pense neles como uma forma de refatorar visualizações para remover duplicações, assim como faria com código normal.

Por exemplo, eu blogado sobre alguns auxiliares RESTful NHaml que podem construir URLs com base em um modelo.

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