2009-08-24 1 views
0

どうすれば動的にasp.netのデータベースレコード数に依存するテキストボックスを作成できますか? 例:学生の試験ポイントを挿入できる学校プログラムがあり、学校にもいくつかの授業があります。何人いるのか分かりませんし、テストポイントを挿入するためのテキストボックスを動的に作成する必要があります。テキストボックスを動的に作成する方法は、asp.netのデータベースレコード数に依存しますか?

答えて

2

ページコントロール、パネルコントロール、およびいくつかのコントロールには、コントロールを動的に追加できる.Controlsオブジェクトがあります。コントロールを追加することで完全な詳細を与えるとthis MSDN articleをチェックアウトするあなたがコントロールに追加のプロパティを適用したいことがあり

Dim txtDynamic As New Textbox() 
Me.Page.Controls.Add(txtDynamic) 

、:それは、その後のような単純なものになります。

+0

ありがとうDillie、私はそれが私が探していると思う:)ありがとうもう一度。 –

0

TextBoxで処理する必要があるデータの性質によっては、ページ上にHTMLリテラルコントロールをプレースホルダとして簡単に持つことができます。コードビハインドページでは、適切なHTMLコードを追加して必要なTextBoxの数を作成し、その結果のコードをHTMLリテラルコントロールに設定するだけです。データを取得する必要がある場合は、すべての標準HTMLテキストボックスコントロールに「runat = server」属性を追加するだけです。

このアプローチでは、DataListやそのようなものを設定することなく、テキストボックスの表示方法を少しすぐに柔軟に変更できます。

+0

私はここで2つの答えを掲示したことを認識していますが、どのアプローチが最も効果的で、グループにとって好ましいかを見るために "投票"します。 –

1

正解にはディリー。

これを行うには、ASP.NET page lifecycleをよく理解することをお勧めします。正しい時間にコントロールを作成することは非常に重要です。そうしないと、ポストバックからのデータで/ fillのイベントを発生させるページには使用できなくなります。一般的に、これはPage_Initイベント中でなければなりません(これは私がこれをしてからしばらくありました!)。

+0

ページライフサイクル+1(そして小道具8^Dのおかげで)ウィルが説明しているように、これらのコントロールを作成/処理しているときは必ず確認することが重要です。 –

関連する問題