Nach dem Testen ist die System.Web.UI.HtmlControls
-Klasse unter HtmlForm
, das Formularobjekt, das wir im herkömmlichen asp.net verwenden, nicht für dynamische Zwecke geeignet Generierung. HTML-Code.
Also habe ich ein einfaches HtmlForm
Container-Steuerelement angepasst, das nur ein paar Zeilen Code erfordert. Es scheint, dass Asp.net immer noch große Vorteile bei der Kapselung von HTML-Elementen hat. Microsoft hat für uns eine große Anzahl grundlegender Strukturen definiert, die einfach zu erweitern und zu verwenden sind.
public class myHtmlForm:HtmlContainerControl { public myHtmlForm(): base("form") { this.Attributes.Add("method", "post"); } public string Action { set { Attributes.Add("action", value); } } }
Die Verwendung ist sehr einfach: Erstellen Sie einfach neue Steuerelemente und fügen Sie sie dann zur Controls-Sammlung hinzu.
myHtmlForm form = new myHtmlForm(); form.ID = "myform"; form.Action = "test.aspx"; HtmlInputHidden hidf= new HtmlInputHidden(); hidf.ID = hidf.Name = "hidden"; form.Controls.Add(hidf);
Abschließend geben Sie in der Ansicht den HTML-Code an den Antwortstream aus.
form.RendControl(Writer);
Fazit:
Die dynamische Generierung von HTML-Formularen ist so einfach und übersichtlich. Früher habe ich selbst HTML gespleißt und es dann geschrieben. Wenn Sie die vom Framework bereitgestellten Klassen gut nutzen können, kann die Öffnungseffizienz effektiv verbessert und der Code besser lesbar gemacht werden. Insbesondere bei der Erstellung von Tabellensteuerelementen ist es hilfreich, das System.Web.UI.WebControls.Table
-Steuerelement sinnvoll zu nutzen.
Das obige ist der detaillierte Inhalt vonCodebeispiel der asp.net-Methode zum dynamischen Generieren eines HTML-Formulars. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!