ドロップダウンリスト(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 ++;
}
}