前提・実現したいこと
1.ドロップダウンリストで選択された値を取得したいと考えております。
2.また、選択状態で表示するにはどうしたらいいでしょうか?
追記:ドロップダウンリストのitemはDBから取得しています。
任意にセレクトして最終的にDBに保存するという流れです。
また、保存するだけでなく保存した内容の編集もします。
該当のソースコード
DBからデータを取得したあとのコードです。
aspx
1<asp:DropDownList ID="DropDownList1" runat="server" ClientIDMode="Static" AutoPostBack="True"> 2 <asp:ListItem>A</asp:ListItem> 3 <asp:ListItem>B</asp:ListItem> 4 <asp:ListItem>C</asp:ListItem> 5 <asp:ListItem>D</asp:ListItem> 6</asp:DropDownList>
1.選択された値を取得する
VB
1Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles DropDownList1.SelectedIndexChanged 2 MsgBox(String.Format("{0:s}が選択されました。(value={1:s})", DropDownList1.SelectedItem, DropDownList1.SelectedValue)) 3End Sub
実行結果
このように選択した値を取得することができません。
何が原因で取得できないのか分かりません。
2.選択されている状態で表示する
追記:DBに保存した内容を編集したいのですが、DBからデータを取得した際に
例えば、Cを選択して保存します。その後、編集するときに編集ボタンか何かを押してDBデータをドロップダウンリストに表示するのですが
その時にCが選択されている状態で表示したいと考えております。
VB
1For i = 0 To DropDownList1.Items.Count - 1 2 'Aが選択されている状態と仮定して 3 If DropDownList1.SelectedItem.Text = "C" Then 4 DropDownList1.Items.FindByText("C").Selected = True 5 Exit For 6 End If 7Next
宜しくお願い致します。
補足情報(FW/ツールのバージョンなど)
Microsoft Visual Studio 2010
.NET Framework 4
ASP.Net Web Forms
ASP.NET Web アプリで MsgBox など使うのはやめましょう。例え開発時限定だとしても止めましょう。常識を疑われます。
「2.選択されている状態で表示する」のコードが意味不明です。初期画面表示からユーザーが C を選択したら AutoPostBack="True" なのでポストバックがかかって、応答が返ってきて再描画されたらその画面で C が選択状態になっていたら良いのであれば、何もする必要はないですけど?
質問を全体的に修正致します。
すみません。
相変わらず MsgBox を使ってますが、止めませんか? 言っても直らないのではあなたには関わる気がしなくなります。
デバッガを使ったそうですが、であればその画像に差し替えてください。
質問者さん、無言になってしまいましたが、ギブアップしたとかで、このスレッドでの Q&A は不要になったということであれば、それはそれで構いませんので、その旨書いてこのスレッドはクローズしてください。
もし解決しているならその旨書いてこのスレッドはクローズしてください。
とにかく無言で放置は NG です。
このスレッドでの Q&A は不要になったということであれば、それはそれで構いませんので、その旨書いてこのスレッドはクローズしてください。無言で放置は NG です。