Создать метод расширения для создания открывающих и закрывающих тегов, таких как Html.BeginForm ()
Интересно, возможно ли создать метод расширения, который по функциональности и поведению похож на 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.
Спасибо
Дейв