簡體   English   中英

如何從c#填充aspx:Dropdown?

[英]How to populate the aspx:Dropdown from c#?

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

<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已經有三個文本了。 現在我想要的是,我從SQL Query獲取狀態,該值將為NEW CLOSEDOPEN 因此,例如,如果我從數據庫中獲取了CLOSED值,那么在我的HTML頁面中CLOSED將位於所選區域中。

你可以嘗試

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

或者也

ListItem li = new ListItem();
li.Text = "NEW";
li.Value = "NEW";
ddlbStatus.items.add(li);

您可以以這種方式在C#中填充或填充Dropdownlist

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

編輯:

ddlbStatus.SelectedIndex = ddlbStatus.Items.IndexOf(ddlbStatus.Items.FindByText(r["OrderPeriodStatus"].ToString()));

除了其他答案外,您還可以將下拉列表綁定到將為您填充的數據源。

ddlStatus.DataSoruce = SomeCollection;
ddlStatus.DataValueField = field1;
ddlStatus.DataTextField = field2;
ddlStatus.DataBind();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM