0
  • オプション「1」、「2」、および「3」のドロップダウンリストがあります。
  • ユーザーはオプションを選択し、ボタンを押します。
  • 選択した数に基づいて、1、2、または 3 つのテキストボックスが、textBox_1、textBox_2、textBox_3 などの ID で動的に作成されます。
  • 次に、ユーザーは各テキストボックスに入力して別のボタンを押すと、これらのテキストボックスの値が検証されて保存されます。

誰かがこの(一見非常に単純な)タスクを実行する方法に関するコードを提供してもらえますか? 私は実際のプロジェクトで既に 2 つの長い質問をしましたが、誤解されているか、スティックの間違った端を取得しているようです (リピーターの Page_Load/Page_Init 使用に関するテキストボックスの作成など)。

私のプロジェクトには多くのコントロールがあり、この数は変わる可能性があるため、これは動的に行う必要があります。必要に応じて、これまでのところコードを投稿できますが、他の質問では、これは問題を混乱させているようです。

4

2 に答える 2

1

Code For creating Dynamic textboxes:

Protected Sub ddl_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
    If ((Not (ddl.SelectedValue) Is Nothing)  _
                AndAlso (Integer.Parse(ViewState("count").ToString) <> 0)) Then
        Dim i As Integer = 1
        Do While (i <= Integer.Parse(ddl.SelectedValue))
            Dim t As TextBox = New TextBox
            t.ID = ("TextBox_" + i)
            form1.Controls.Add(t)
            i = (i + 1)
        Loop
    ElseIf ((Not (ddl.SelectedValue) Is Nothing)  _
                AndAlso (Integer.Parse(ViewState("count").ToString) > 0)) Then
        Dim id As Integer = Integer.Parse(ViewState("count").ToString)
        Dim i As Integer = 1
        Do While (i <= Integer.Parse(ddl.SelectedValue))
            Dim t As TextBox = New TextBox
            t.ID = ("TextBox_" + id)
            form1.Controls.Add(t)
            id = (id + 1)
            i = (i + 1)
        Loop
    End If
End Sub

and in page load add this

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

      If Not IsPostBack Then           ViewState("count") = 0       End If    End Sub

To validate the data, add a button control to your page ( I will add the code shortly )

于 2012-08-20T14:17:53.177 に答える
1

1 つの質問: コントロールが既に作成されている場合、ドロップダウンで利用可能な数 (fe 3 +3) よりも多く作成することは可能ですか?

コントロールの数よりも多くの作成を許可すると仮定すると、次のことが必要になります。

  • ボタンのClickイベントを処理する
  • これらのコントロールを、ページ上のプレースホルダーまたはパネル (コンテナー コントロール) に、それらの番号 (fe textBox_4)に応じた正しい ID で追加します。
  • ViewStateまたはSession変数にコントロールの総数を格納する
  • Page_InitまたはPage_Load(遅くとも) 以前と同じ ID でこれらのコントロールを再作成します。

次に、ViewState が読み込まれ、イベントがトリガーされることを確認しました。

私が何を意味するかを示すコードは次のとおりです。

ドロップダウン リスト イベント ハンドラーから動的コントロールを読み込む、ボタン イベントの後にコントロールを保持する方法

于 2012-08-20T14:20:27.983 に答える