我们可以使用以下语法在 asp.net 组件中创建下拉列表
<asp:DropDownList ID="test" runat="server">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
</asp:DropDownList>
如果我们希望我们的组合框包含 1 到 1000,有没有办法用 foreach 循环填充它,而不是手动添加 1000 项?
我们可以使用以下语法在 asp.net 组件中创建下拉列表
<asp:DropDownList ID="test" runat="server">
<asp:ListItem Text="1" Value="1"></asp:ListItem>
</asp:DropDownList>
如果我们希望我们的组合框包含 1 到 1000,有没有办法用 foreach 循环填充它,而不是手动添加 1000 项?
是的,您可以通过ListItems
编程方式添加:
for(int i=1; i<=1000; i++)
{
ListItem item = new ListItem(i.ToString(), i.ToString());
test.Items.Add(item);
}
您还可以使用此 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();
当然,在您的代码隐藏中:
if (!Page.IsPostBack)
{
// Populate DropDownList
for (int i = 1; i < 1001; i++)
{
ListItem li = new ListItem(i.ToString(),i.ToString());
test.Items.Add(li);
}
}
将下拉列表直接绑定到数字集合怎么样?
IEnumerable<int> numbers = Enumerable.Range(1, 1000);
test.DataSource = numbers;
test.DataBind();
for( int i=1;i<=100;i++)
{
ListItem li=new ListIem(i.ToString(),i.ToString());
test.Items.add(li);
}
这是一些伪代码:
for (int i = 0; i < 1000; i++)
{
ListItem item = new ListItem();
item.Text = i.ToString();
test.Items.Add(item);
}
您将必须准确了解如何创建 ListItem 并使用值填充它。
很基础的代码...
if(!Page.IsPostBack)
{
for (int i = 1; i <= 1000; i++)
{
test.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
}