Criar método de extensão para produzir tags de abertura e fechamento, como Html.BeginForm ()
Gostaria de saber se é possível criar um método de extensão que tenha funcionalidade e comportamento semelhante ao Html.BeginForm (), pois ele geraria uma tag Html completa e eu poderia especificar seu conteúdo dentro<% { & } %>
Tag.
Por exemplo, eu poderia ter uma visão como:
<% using(Html.BeginDiv("divId")) %>
<% { %>
<!-- Form content goes here -->
<% } %>
Esse recurso seria muito útil no contexto da funcionalidade que estou tentando produzir com o exemplo emessa questão
Isso me daria a capacidade de criar contêineres para os tipos que eu serei
<% var myType = new MyType(123, 234); %>
<% var tag = new TagBuilder("div"); %>
<% using(Html.BeginDiv<MyType>(myType, tag) %>
<% { %>
<!-- controls used for the configuration of MyType -->
<!-- represented in the context of a HTML element, e.g.: -->
<div class="MyType" prop1="123" prop2="234">
<!-- add a select here -->
<!-- add a radio control here -->
<!-- whatever, it represents elements in the context of their type -->
</div>
<% } %>
Sei que isso produzirá XHTML inválido, mas acho que poderia haver outros benefícios que superam isso, principalmente porque esse projeto não exige que o XHTML valide os padrões do W3C.
obrigado
Dave