ドロップダウンリスト(DropDownList) コントロールの選択済みアイテムを変更する方法を記載しています。
スポンサーリンク
ASPX
以下のようにドロップダウンリストの 2番目のアイテムが選択状態であるものとします。
<form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem Value="val1" Text="text1" ></asp:ListItem> <asp:ListItem Value="val2" Text="text2" Selected="True"></asp:ListItem> <asp:ListItem Value="val3" Text="text3"></asp:ListItem> <asp:ListItem Value="val4" Text="text4"></asp:ListItem> </asp:DropDownList> </div> </form>
DropDownList.SelectedIndex で選択アイテムを変更する
SelectedIndex プロパティは選択アイテムを変更(取得)するためのプロパティなので、 このプロパティを使う方法が確実だと思います。ドロップダウンリストの項目をループさせ、条件が一致 ( Value, Text ) するアイテムのインデックスを SelectedIndex に設定しています。詳細はコメントを参照ください。
VB.NET
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim idx As Integer = 0 ' アイテムをループで検索し、条件が一致した場合、選択状態にする For Each item As ListItem In DropDownList1.Items ' value が "val4" のアイテムを選択状態とする If (item.Value = "val4") Then DropDownList1.SelectedIndex = idx Exit For End If '' text が "text4" のアイテムを選択状態とする 'If (item.Text = "text4") Then ' DropDownList1.SelectedIndex = idx ' Exit For 'End If idx += 1 Next End Sub
C#
protected void Page_Load(object sender, EventArgs e) { int idx = 0; // アイテムをループで検索し、条件が一致した場合、選択状態にする foreach(ListItem item in DropDownList1.Items) { // value が "val4" のアイテムを選択状態とする if (item.Value == "val4") { DropDownList1.SelectedIndex = idx; break; } //// text が "text4" のアイテムを選択状態とする //if (item.Text == "text4") { // DropDownList1.SelectedIndex = idx; // break; //} idx ++; } }