Ok, ich möchte wissen, wie
%Vor%produzieren
%Vor% Und wie fügt es das </form>
am Ende hinzu? Ich habe im Codeplex gesucht und es nicht im HTML-Helper gefunden. Es gibt eine EndForm-Methode, aber woher weiß das oben genannte?
Der Grund ist, dass ich eine htmlhelper-Erweiterung erstellen möchte, aber nicht weiß, wie man am Ende einer Verwendung schließt.
Jede Hilfe würde geschätzt werden:)
BeginForm
gibt eine IDisposable
zurück, die EndForm
in Dispose
aufruft.
Wenn Sie using(Html.BeginForm()) { ... }
schreiben, generiert der Compiler einen finally
-Block, der Dispose
aufruft, der wiederum EndForm
aufruft und das <form>
-Tag schließt.
Sie können diesen Effekt kopieren, indem Sie Ihre eigene Klasse schreiben, die IDisposable
implementiert.
Ähnlich wie SLaks sagte, erzeugt es einen finally-Block, der das EndForm aufruft, das die Dispose-Methode auf der IDisposable-Schnittstelle aufruft, die das Objekt .BeginForm () zurückgibt.
BeginForm verwendet Rseponse.Write, um den HTML-Code in die Antwort zu schreiben.
EndForm schreibt das schließende Tag in die Antwort. Daher wird alles, was zwischen dem von BeginForm zurückgegebenen Konstruktor und der Dispose-Methode passiert, in die Antwort zwischen den Form-Tags korrekt geschrieben.
Tags und Links asp.net-mvc html-helper