ホームページ >バックエンド開発 >C#.Net チュートリアル >HTML フォームを動的に生成する asp.net メソッドのコード例

HTML フォームを動的に生成する asp.net メソッドのコード例

Y2J
Y2Jオリジナル
2017-04-25 14:03:161887ブラウズ

テスト済みSystem.Web.UI.HtmlControlsSystem.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

HtmlForm🎜従来の asp.net で使用する Form フォーム オブジェクトであるクラスは、HTML コードを動的に生成するのには適していません。 🎜
🎜🎜そこで、数行のコードのみが必要な、単純な HtmlForm コンテナ コントロールをカスタマイズしました。 Asp.net には、Html 要素のカプセル化に依然として大きな利点があるようです。Microsoft は、拡張して使用するのが簡単な多数の基本構造を定義しています。 🎜rrreee🎜 使い方はとても簡単です。新しいコントロールを作成して、Controls コレクションにコントロールを追加するだけです。 🎜rrreee🎜最後に、View で HTML コードを応答ストリームに出力します。 🎜rrreee🎜結論:🎜🎜 HTML フォームの動的生成は非常にシンプルかつ明確です。以前は自分で HTML をつなぎ合わせて書いていました。フレームワークによって提供されるクラスを上手に使用すると、開始効率が効果的に向上し、コードが読みやすくなります。特にテーブル コントロールを作成する場合は、System.Web.UI.WebControls.Table コントロールを有効に活用すると便利です。 🎜

以上がHTML フォームを動的に生成する asp.net メソッドのコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。