Après test, la classe System.Web.UI.HtmlControls
sous HtmlForm
, qui est l'objet de formulaire Form que nous utilisons dans asp.net traditionnel, ne convient pas aux dynamiques génération.
J'ai donc personnalisé un contrôle conteneur HtmlForm
simple, qui ne nécessite que quelques lignes de code. Il semble qu'Asp.net présente encore de grands avantages pour encapsuler des éléments HTML. Microsoft a défini pour nous un grand nombre de structures de base, faciles à étendre et à utiliser.
public class myHtmlForm:HtmlContainerControl { public myHtmlForm(): base("form") { this.Attributes.Add("method", "post"); } public string Action { set { Attributes.Add("action", value); } } }
C'est très simple à utiliser, il suffit d'en créer un nouveau, puis d'ajouter des contrôles à la collection Controls.
myHtmlForm form = new myHtmlForm(); form.ID = "myform"; form.Action = "test.aspx"; HtmlInputHidden hidf= new HtmlInputHidden(); hidf.ID = hidf.Name = "hidden"; form.Controls.Add(hidf);
Enfin, dans la vue, affichez le code HTML dans le flux de réponse.
form.RendControl(Writer);
Conclusion :
La génération dynamique de formulaires HTML est tellement simple et claire. J'avais l'habitude de coller moi-même du HTML, puis de l'écrire. Être doué pour utiliser les classes fournies par le framework peut améliorer efficacement l'efficacité de l'ouverture et rendre le code plus lisible. Surtout lors de la création de contrôles de table, il sera utile de faire bon usage du contrôle System.Web.UI.WebControls.Table
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!