-1

私はasp.net-c#でミニプロジェクトを開発しています...混乱が1つあります... SQL Server 2005にレコードを挿入するために実行時にテキストボックスの数を表示するにはどうすればよいですか.

例えば...

実行時に 3 つのテキストボックスが必要な場合は、Web フォームを配置することで簡単に実行できます...

しかし、データベースからレコードを取得するとき、データベースに挿入する正確なレコード数はわかりません....

ユーザーが no を指定すると、テキスト ボックスを動的に作成する必要があります... ユーザーが行数を 3 に指定した場合、3 つのテキスト ボックスを Web フォームに追加する必要があり、後で入力したテキストを読み取る必要があります (私の場合、そのマーク学生)....

そうするための最良の方法は何ですか?? ありがとう

4

3 に答える 3

0

このようなものを試してくださいPage_Init

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

また、ASP.NET でコントロールを動的に作成するをご覧ください。

于 2012-05-03T10:26:51.700 に答える
0

リピーターをご利用ください。 http://msdn.microsoft.com/en-us/library/c012haty(v=vs.90).aspx

実際のデータソースなしで Repeater を使用する (VB.NET の) 例を次に示します。

VB.NET Repeater データソースを使用しない単純なデータ バインディング

ここにC#があります

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

<asp:Repeater id="myRepeater" runat="server">
<ItemTemplate>
  <input type="text" />
</ItemTemplate>
</asp:Repeater>
于 2012-05-03T10:26:52.493 に答える
0

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

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

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

さらに別の方法として、必要な HTML マークアップを含むリテラル コントロールなどにテキストを挿入する方法があります。値をサーバーにポストバックする必要がない場合、これはより無駄のない方法ですが、もう少し手間がかかるかもしれません。

于 2012-05-03T10:31:51.110 に答える