通过foreach循环在ASP.Net中制作下拉列表

wik*_*vis 3 c# asp.net for-loop drop-down-menu

我们可以使用以下语法在asp.net组件中制作下拉列表

 <asp:DropDownList ID="test" runat="server">
      <asp:ListItem Text="1" Value="1"></asp:ListItem>
 </asp:DropDownList>
Run Code Online (Sandbox Code Playgroud)

如果我们希望我们的组合框包含 1 到 1000,有没有办法用 foreach 循环填充它,而不是手动向其中添加 1000 项?

Tim*_*ter 5

是的,您可以通过ListItems编程方式添加:

for(int i=1; i<=1000; i++)
{
    ListItem item = new ListItem(i.ToString(), i.ToString());
    test.Items.Add(item);
}
Run Code Online (Sandbox Code Playgroud)

ListItemCollection.Add

您还可以使用此 linq 查询并将其用作数据源:

var source = Enumerable.Range(1, 1000)
    .Select(i => new { Text= i.ToString(), Value=i.ToString() });
test.DataSource = source;
test.DataTextField = "Text";
test.DataValueField = "Value";
test.DataBind();
Run Code Online (Sandbox Code Playgroud)