Интересно, возможно ли создать метод расширения, который по функциональности и поведению будет аналогичен Html.BeginForm (), так как он будет генерировать полный тег Html, и я мог бы указать его содержимое в тегах <% { & } %>
.
Например, у меня может быть вид как:
<% using(Html.BeginDiv("divId")) %>
<% { %>
<!-- Form content goes here -->
<% } %>
Эта возможность была бы очень полезна в контексте функциональности, которую я пытаюсь создать на примере этого вопроса
Это дало бы мне возможность создавать контейнеры для типов, которыми я буду
<% 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>
<% } %>
Я понимаю, что это приведет к недопустимому XHTML, но я думаю, что могут быть и другие преимущества, которые перевешивают это, тем более что этот проект не требует, чтобы XHTML соответствовал стандартам W3C.
Спасибо
Dave