1

aspx:dropdown我在文件中有以下内容aspx

<asp:DropDownList ID="ddlbStatus" Width="210px" Height="30px" CssClass="ddlb" 
         runat="server" onselectedindexchanged="ddlbStatus_SelectedIndexChanged" Style="text-align:left">
   <asp:ListItem Selected="True" Text="" Value="NA"> </asp:ListItem>
   <asp:ListItem Text="New" Value="NEW"></asp:ListItem>
   <asp:ListItem Text="Open" Value="OPEN"></asp:ListItem>
   <asp:ListItem Text="Closed" Value="CLSD"></asp:ListItem>
</asp:DropDownList>

我想从我的c#文件中填充它。我使用以下代码进行了尝试,但它对我不起作用:

 ddlbStatus.SelectedItem = r["OrderPeriodStatus"].ToString();

例如r["OrderPeriodStatus"].ToString();打印NEW or OPEN or CLOSED

我是新手asp.net。我做错了什么?

更新

我已经在dropdwonlist. 现在我想要什么,我从 aSQL Query中获取状态,该值将是NEW CLOSEDor OPEN。因此,例如,如果我CLOSED从数据库中获取值,那么在我的 HTML 页面CLOSED中将位于选定区域中。

4

3 回答 3

3

你可以试试

ddlbStatus.Items.Add("test","test");

或者也

ListItem li = new ListItem();
li.Text = "NEW";
li.Value = "NEW";
ddlbStatus.items.add(li);
于 2012-09-03T09:33:31.950 回答
2

您可以以这种方式填写或填充您DropdownlistC#

ddlbStatus.Items.Add(r["OrderPeriodStatus"]);

编辑:

ddlbStatus.SelectedIndex = ddlbStatus.Items.IndexOf(ddlbStatus.Items.FindByText(r["OrderPeriodStatus"].ToString()));
于 2012-09-03T09:35:17.470 回答
0

除了其他答案之外,您还可以将下拉列表绑定到将为您填充它的数据源。

ddlStatus.DataSoruce = SomeCollection;
ddlStatus.DataValueField = field1;
ddlStatus.DataTextField = field2;
ddlStatus.DataBind();
于 2012-09-03T09:39:07.543 回答