0

私はフォームのドロップダウンリストとボタンを持つシンプルなWebを持っています。 ドロップダウンリストはデータベースのテーブルにバインドされ、1〜3の間のIDを持つ3つの値(週単位、月単位、選択してください)を保持します。.net 2010のボタンを隠すには?

データソースを設定して、ドロップダウンリストの最初の項目として項目3(選択してください)を戻して、オプションの選択を促します。項目1 & 2にはデータが割り当てられており、これによりこれらのオプションの関連データが取り出されます。

これは私の問題です。ユーザーが項目1または2を選択し、オプション3の非表示にするボタンを選択するまで、ページが読み込まれるときに自分のボタンを非表示にする必要があります。私はページロードイベントとドロップダウンリストのコードでこれを完了しようとしましたが、これを動作させるようには見えません。

If IsNumeric(DropDownList1.SelectedValue) = 3 Then 
     btnAddAgendaTemplate.Visible = False 
    End If 

答えて

0

変更と比較:

If DropDownList1.SelectedValue = "3" Then 
     btnAddAgendaTemplate.Visible = False 
    End If 

機能IsNumbericちょうど今、SelectedValueのがAである3と比較し、これは数であるかどうかを確認していない番号に変換し、そしてません文字列なので、 "3"と直接比較してください。そのまま番号に変換する理由はありません。

0

編集:(コメントに基づいて)選択されたインデックスで
はあなたのSelectedIndexChangedイベントが背後にあるコード内でこのようなものであると仮定応じ

3及びプロセスであることをSelectedValueのためのチェックドロップダウンのためのイベントを変更:

コード

If Not Page.IsPostBack() Then 
//Set default value in drop down list as 3 
End 

と次ページロードイベントの書き込みで

Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged 
If DropDownList1.SelectedValue.Equals("3") Then 
    btnAddAgendaTemplate.Visible = False 
End If 
End Sub 
+0

こんにちはハビブ、ちょうどbtnAddAgendaTemplate.Visible = Falseをページロードイベントに追加すると、ボタンが完全に非表示になります。ユーザーがオプション1またはオプション2を選択すると、送信ボタンは表示されません。ユーザーがオプション3を選択したときにボタンを非表示にしたいだけです.3つは、ユーザーがページを開くときのデフォルトオプションです。 – Betty

+0

@Betty、その場合、selectedindexchangedイベントのみを変更する必要があります。回答を更新しました。今すぐチェックしてください。 – Habib

0

ドロップダウンの選択インデックス変更イベントを書き込んで、その中に次のコードを書き込んでください。

If DropDownList1.SelectedValue = "3" Then 
    btnAddAgendaTemplate.Visible = False 
ELSE 
    btnAddAgendaTemplate.Visible = True 
END 
+0

また、ドロップダウンリストのautopostbackプロパティが 'True'に設定されていることを確認してください。 –

+0

そして、ボタンのvisibleプロパティをデザイナでFalseに設定して、最初から表示されないようにする必要があります。 –

関連する問題