DropDownList选值问题

本文探讨了在ASP.NET中使用FindbyValue方法而非SelectedValue的原因。通过示例说明了当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”的值,则会默认选择第一项(一般第一项就是默认项)。

转载于:https://www.cnblogs.com/joe-yang/archive/2010/09/16/1827505.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值