Loading

DropDownList选值问题

为什么要使用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”的值,则会默认选择第一项(一般第一项就是默认项)。
posted @ 2010-09-16 00:17  .net's  阅读(392)  评论(0)    收藏  举报