Html.BeginForm () Art des Verlängerungs
-
22-07-2019 - |
Frage
Kennt jemand die Syntax eine benutzerdefinierte HtmlHelperextension Methode zum Erstellen der wie ..
verhält<% using (Html.BeginForm()) {%>
<p>Loads of html stuff here </p>
<% } %>
Ich denke an etwas entlang der Linien von ....
Irgendwelche Ideen?
Cheers,
ETFairfax
Lösung
Sie müssen eine Klasse erstellen, die IDisposable
-Schnittstelle implementiert und zurück, dass von Ihrem HtmlHelper
.
public static class HtmlHelperTableExtensions {
private class TableRenderer : IDisposable {
HtmlHelper html;
public TableRenderer(HtmlHelper html) {
this.html = html;
}
public void Dispose() {
HtmlHelperTableExtensions.EndTable(html);
}
}
public static IDisposable BeginTable(this HtmlHelper html) {
// print begin table here...
return new TableRenderer(html);
}
public static void EndTable(this HtmlHelper html) {
// print end table here...
}
}
Andere Tipps
Sie müssen eine Methode, so etwas haben:
public static IDisposable BeginTable(this HtmlHelper html, ...)
{
// write the start of the table here
return new EndTableWriter();
}
Wenn die EndTableWriter
ist so etwas wie folgt aus:
private class EndTableWriter : IDisposable
{
public void Dispose()
{
// write the end of the table here
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow