2012-05-03 22 views
-1

は、私は1つの混乱を持っていることasp.net-C#でのミニプロジェクトを...で開発しています... 私は、実行時にテキストボックスの表示数がためのSQL Server 2005asp.net web fomsで実行時にテキストボックスの数を追加する方法は?

内のレコードを挿入することができる方法たとえば...

私は、実行時に3テキストボックスを望んでいるならば、我々はWebフォームで置くことによって簡単に行うことができます...

が、我々は、データベースからレコードを取得するとき、私たちは知りませんデータベースに挿入するレコードの正確な数....

ユーザーがnoを指定したときにテキストボックスを動的に作成する必要があります。ユーザーが3行まで指定しない場合、3つのテキストボックスをWebフォームに追加する必要があります。私の場合は学生の印)....

これを行うにはどのような方法が最適ですか? ?おかげ

答えて

0

使用リピーターで見ることができPage_Init

for (int i = 0; i < ANYNUMBER; i++) 
     { 
       var textBox = new TextBox(); 
       textBox.ID = "txb_" + i.ToString();      
       this.Controls.Add(textBox); 
     } 

上でこのような何かを試してみてください。 http://msdn.microsoft.com/en-us/library/c012haty(v=vs.90).aspx

実際のデータソースのないリピータを使用した例(VB.NET)です。

VB.NET Repeater Simple Data Binding Without Datasource

ここでは、あなたはここに多くのオプションを持っているC#で

myRepeater.DataSource = new int[3]; 
myRepeater.DataBind(); 

<asp:Repeater id="myRepeater" runat="server"> 
<ItemTemplate> 
    <input type="text" /> 
</ItemTemplate> 
</asp:Repeater> 
0

です。残念ながら、追加のコントロールがどのように使用されたのかを知ることができなかったため、どのアプローチが最も理にかなっているかを知ることができませんでした。

ただし、1つのオプションは、必要なコントロールの新しいインスタンスを割り当てて、親コントロールのControlsコレクションに追加することです。

もう1つの方法は、リピータ、グリッド、またはその他のデータコントロールを使用することです。コントロールの数が表示する必要があるデータ項目の数に依存する場合は、この方法を使用します。

さらに別のアプローチは、必要なHTMLマークアップを使用して、たとえばリテラルコントロールにテキストを挿入することです。サーバーにポストバックする値が不要な場合は、これを実行するためのよりリーンな方法ですが、もう少し作業が必要です。

+0

私にgridviewまたはリピータの例を教えてください。私はデータベースからレコードを挿入できる簡単な方法だと思っています... – mack28

+0

例を提供するために私があなたに何をしているかについて、十分な詳細を提供していません。一般的な例が必要な場合は、Web上のリピータコントロールを使用する例があります。 –

+0

あなたはこのリンクを見ることができますhttp://stackoverflow.com/q/10425871/1357042正確に何をしたいですか... – mack28

関連する問題