2017-07-18 14 views
0

私はASP.NETで作業しています。私は動的に構築されたドロップダウンリストを持っています。ここで、送信ボタンをクリックすると、ドロップダウンリストから何かを選択したときにのみ何かをしようとします( '値が0でない場合')。しかし、どうにかして何かが選択され、値が1または2でなければ、私の価値はいつも0(デフォルト値)を返します。DropDownListからの選択値は、何か他のものが選択されたときにもデフォルト値を返します。

誰が問題を抱えているのでしょうか?

ここで私はすべての私のドロップダウンリストをループし、すべてを持つんだが

  For i As Integer = 0 To allDropDownLists.Count - 1 
       If allDropDownLists(i).SelectedValue = "0" Then 
       Else 
        If allEmailInputs(i).Text IsNot "" Then 
         final &= saveEventUser(myID, allDropDownLists(i).SelectedValue, allEmailInputs(i).Text) 
        Else 
         error.InnerHtml = "error!!" 
        End If 
       End If 
      Next 

(それらの2が一緒に属している)emailinputが来るのDropDownListそして、これはすべてが動的に構築取得する​​方法である:

  Dim div71 As New Panel 
      div71.CssClass = "border" 
      Dim ddl As New DropDownList 
      ddl.ID = "select" & panel & "_" & counter 
      ddl.Items.Clear() 
      ddl.Items.Add(New ListItem("Select something", "0")) 
      ddl.Items.Add(New ListItem("Select 1", "1")) 
      ddl.Items.Add(New ListItem("Select 2", "2")) 
      ddl.CssClass = "form_txt2 colegas" 
+0

にこれらDropDownListsに移入されます –

+0

さて、私はそれを削除しました。私はそれをオンラインに入れました。それは問題であったかもしれませんが、明らかにそうではないかもしれません。 –

+0

どこで実行されているのですか? 'allDropDownLists()'、 'allEmailInputs()'、 'final'、 'saveEventUser()'の定義またはタイプを入力してください。 – MaCron

答えて

0

visibile = "false"で標準のASP.NETの方法でドロップダウンリストを作成し、それを設定すると可視性をtrueに設定します。

<asp:DropDownList ID="ddl" runat="server" visible="false" CssClass="form_txt2 colegas"></asp:DropDownList> 

ddl.Items.Clear() 
ddl.Items.Add(New ListItem("Select something", "0")) 
ddl.Items.Add(New ListItem("Select 1", "1")) 
ddl.Items.Add(New ListItem("Select 2", "2")) 
ddl.Visible = true 

あなたはどのように行数を制御することができますので、それ以外の場合あなたは、あなたが行ごとのDropDownListを持っているのGridViewを構築できる - 表示する(それゆえ> DropDownLists) - あなたは5つのレコードをデータセットに、このGridViewコントロールをバインドする場合5つのDropDownListsがあります。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="BatchID" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"> 
    <Columns> 
     <asp:BoundField DataField="Column1" HeaderText="Column1" SortExpression="Column1" /> 
     <asp:BoundField DataField="Column2" HeaderText="Column2" SortExpression="Column2" /> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:DropDownList ID="DropDownList1" runat="server"> 
       </asp:DropDownList> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

あなたは、彼らは通常.designer.vbファイルに組み込まれる前に処理されるので、あなたは、「にrunat = 『サーバー』」コントロールを生成することができませんGridViewのRowDataBoundイベント

+0

これはオプションではありません。動的に構築する必要があるのは、ドロップダウンをいくつ表示するかを選択するためです。これらのドロップダウンはイベントの下で表示され、イベントのメーカーはドロップダウンの数を選択できます。結局、ドロップダウンリストを使用してイベントを購読します。 –

関連する問題