为什么要使用FindByValue而不使用SelectedValue???
原因:
若DropDownList的Items绑定项如下:
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="0">a</asp:ListItem>
<asp:ListItem Value="1">b</asp:ListItem>
</asp:DropDownList>
假设this.DropDownList1.SelectedValue == "1",即选择的是b。
若传入的值为"A”
- 使用FindByValue
this.DropDownList1.SelectedValue = "A";
则this.DropDownList1.SelectedValue还是等于“1”,即还是选择的是第二项没有改变。(操作者以为是传入正确的值“1”)- 使用this.DropDownList1.SelectedValue
this.DropDownList1.SelectedIndex = this.DropDownList1.Items.IndexOf(this.DropDownList1.Items.FindByValue("A"));
因为找不到“A”的值,则会默认选择第一项(一般第一项就是默认项)。