Zastanawiam się, czy można utworzyć metodę rozszerzenia, która ma funkcjonalność & zachowanie podobne do Html.BeginForm(), ponieważ generuje kompletny znacznik HTML , a ja mogłem sprecyzować jego zawartość w tagach <% { & } %>
.Utwórz metodę rozszerzenia, aby utworzyć znaczniki otwarte i zamykające, takie jak Html.BeginForm()
Na przykład, mogę mieć widok jak:
<% using(Html.BeginDiv("divId")) %>
<% { %>
<!-- Form content goes here -->
<% } %>
Możliwość ta będzie bardzo przydatna w kontekście funkcjonalności staram się produkować na przykładzie w this question
To byłoby Daj mi zdolność do tworzenia pojemniki do typów, które będę
<% 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>
<% } %>
Zdaję sobie sprawę, to będzie produkować nieprawidłowy XHTML, ale myślę, że nie może być innymi korzyściami, które przeważają nad tym, zwłaszcza, że ten projekt nie wymaga, aby XHTML sprawdzał zgodność ze standardami W3C.
Dzięki
Dave
dzięki, brakowało mi rzeczy viewcontext.writer! – koenmetsu