1
protected void Page_Load(object sender, EventArgs e)
{

Label myLabel = new Label();
myLabel.Text = "Testing 1 2 3";
}

コード ビハインドでこの Label オブジェクトを作成し、メイン ページに < asp:Label > タグがない場合、この Label をページのどこかに配置するにはどうすればよいですか?

データベースからの情報に基づいてコントロールを動的に作成したいと考えています。そこから、コントロールを Web ページに配置します。コントロールの数と種類が変わるため、それらの場所を事前に定義することはできません。

これを行う最善の方法は何ですか?

テーブルなど、ページに既に何かがあり、テーブルの最後にコントロールを配置したい場合はどうすればよいでしょうか。

4

2 に答える 2

4

ページのコントロール コレクションのどこかに追加する必要があります。

this.Controls.Add(myLabel);

ページに直接追加する代わりに、PlaceHoldersまたはPanelsコンテナー コントロールとして使用します。page_load最新のすべてのポストバックで、以前と同じ ID で動的に作成されたコントロールを再作成する必要があります(ViewState をリロードしてイベントをトリガーするため)。

コントロールのレイアウトを制御するには、CSS を使用する必要があります。

別のアプローチは、より簡単で、コントロールとその状態を自動的に維持するようなWeb データバインド コントロールを使用することです。Repeater

于 2012-07-24T22:49:38.750 に答える
0

プレースホルダーを使用する場合は、好きなだけコントロールを追加できます。各コントロールに CSS を割り当てると、ページ上の任意の場所にコントロールを簡単に配置できます。

Label myLabel = new Label();
myLabel.Text = "Testing 1 2 3";
myLabel.cssClass ="myClass1"
Label myLabel2 = new Label();
myLabel2.Text = "Testing 4 5 6";
myLabel2.cssClass ="myClass2"
plHolder.controls.add(myLabel)
plHolder.controls.add(myLabel2)
于 2012-07-24T23:17:02.363 に答える