HTMLフォームの動的生成

2776 ワード

テスト済みシステムWeb.UI.HtmlControlsの下のHtmlFormクラス、つまり私たちは伝統的なasp.Netで使用されるFormフォームオブジェクトは、Htmlコードを動的に生成するのに適していません.
そこで簡単なHtmlFormコンテナコントロールをカスタマイズし、コードを数行だけ必要とします.見たところAsp.NetはHtml要素をカプセル化する上でまだ優位で、マイクロソフトは私たちのために定義しました
多くのインフラストラクチャがあり、拡張しやすく使用できます.

  
    
public class myHtmlForm:HtmlContainerControl
{
public myHtmlForm()
:
base ( " form " )
{

this .Attributes.Add( " method " , " post " );
}

public string Action
{
set
{
Attributes.Add(
" action " , value);
}
}
}

使用は簡単で、直接newして、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);

最後にViewでは、HTMLコードをレスポンスフローに出力します.

  
    
form.RendControl(Writer);

結論:
HTMLフォームを動的に生成するのは簡単です.私は以前自分でHTMLをつなぎ合わせたことがありますが、それからWriteですね.フレームワークが提供するクラスを上手に利用することで、開放効率を効果的に向上させることができます.
また、コードの可読性を良好にする.特に表のコントロールをする時、Systemをよく使う.Web.UI.WebControls.Tableコントロール、とても役に立ちます.PHPとか他に知りたい
言語にもこれらの使いやすいインフラストラクチャがありますか?