2015-01-15 38 views
2

我能结合这样做下拉列表中有一个字符串数组(不知道这是否是实现正确的方式):如何绑定下拉列表与ASP.NET中的字符串数组?

string[] items = { "111", "222", "333" }; 
ddlSearch.DataSource = items; 
ddlSearch.DataBind(); 

不过,我其实想的是:当我点击下拉列表中显示的第一项应为111,然后是222333

当我点击下拉列表按钮时,如何添加要显示在下拉列表中的文本字符串?

Java有一种简单的方法来添加要显示在列表中的项目,但我们如何在C#中执行此操作? (我的方式很新的C#)。

+0

这样。这些项目在下拉菜单中显示的顺序是什么? – Shaharyar 2015-01-15 16:53:07

+0

您是否想重新订购清单?或者你是否想要添加额外的字符串到列表中?如果你想添加项目,可能更容易使用'List '或'Dictionary ' – wahwahwah 2015-01-15 16:54:14

+0

我看过几个使用列表的例子,是否可以使用字符串数组填充下拉列表?订单无关紧要。例如,我只想在下拉列表中选择“111”,“222”,“333”。 – user3437460 2015-01-15 16:56:40

回答

5

这将是更容易使用List<string>

标记可以

<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList> 

后端代码是这样

var items = new List<string> { 
"111", 
"222", 
"333" 
}; 
items.Sort(); 

DropDownList1.DataSource = items; 
DropDownList1.DataBind(); 
0

来源:https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linqdatasource.contexttypename(v=vs.110).aspx

public class MovieLibrary 
{ 
    string[] _availableGenres = { "Comedy", "Drama", "Romance" }; 

    public MovieLibrary() 
    { 
    } 

    public string[] AvailableGenres 
    { 
     get 
     { 
      return _availableGenres; 
     } 
    } 
} 


<asp:LinqDataSource 
    ContextTypeName="MovieLibrary" 
    TableName="AvailableGenres" 
    ID="LinqDataSource1" 
    runat="server"> 
</asp:LinqDataSource> 
<asp:DropDownList 
    DataSourceID="LinqDataSource1" 
    runat="server" 
    ID="DropDownList1"> 
</asp:DropDownList>