Dropdown.SelectedItem.Text没有正确设置值

时间:2015-09-18 08:12:00

标签: asp.net vb.net selecteditem dropdown

我有以下下拉列表

<asp:dropdownlist id="ddlCardStatus" runat="server" Width="150px">
  <asp:ListItem Value="E0" Text="Active" ></asp:ListItem>
  <asp:ListItem Value="E1" Text="Block"></asp:ListItem>
</asp:dropdownlist>

即使我在数据集中获得Active,我的下拉默认选定文字也始终为Block

我想我说错了 以下是从数据集

收到的设置值的代码
ddlCardStatus.SelectedItem.Text = ddlCardStatus.Items.FindByValue(
     IIf(IsDBNull(ds.Tables(0).Rows(0).Item("Status")), 0, 
                 ds.Tables(0).Rows(0).Item("Status"))).Value

已编辑这是选择Status

的存储过程的一部分
Select ID,case status when 'E0' then 'Active' when 'E1' then 'Block' end as 'Status' from temp

1 个答案:

答案 0 :(得分:2)

如果您有一个值,则应直接设置该值,而不是文本: -

Uses same layout as OS X

您可以检查Null,但将其设置为ddlCardStatus.SelectedValue = ds.Tables(0).Rows(0).Item("Status").Value 并不合理,因为您的下拉列表中没有任何此类ListItem。

<强>更新

由于您从DB传递文本,您可以在下拉列表中找到该文本并选择它: -

0

或者您可以从下拉列集中找到值并设置所选值: -

String cardStatus = ds.Tables(0).Rows(0).Item("Status")
ddlCardStatus.Items.FindByText(cardStatus).Selected = True