4

一个简单的查询,我想用从 17 到 90 的数字填充下拉列表,最后一个数字应该是 90+ 而不是 90 之类的字符串。我猜逻辑将使用类似的 for 循环:

for (int a = 17; a <= 90; a++)
        {
            ddlAge.Items.Add(a.ToString());
        }

我还想用相同的数字填充每个列表项的文本和值。有任何想法吗?

4

6 回答 6

7
for (int i = 17; i < 90; i++)
{
    ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Add(new ListItem("90+", "90"));
于 2012-05-04T14:27:04.843 回答
5

试试这个:

for (int a = 17; a <= 90; a++)
{
    var i = (a == 90 ? a.ToString() + '+': a.ToString());
    ddlAge.Items.Add(new ListItem(i, i));
}
于 2012-05-04T14:25:33.573 回答
3

这很容易。您需要实例化 ListItem 类并填充其属性,然后将其添加到您的 DropDownList。

    private void GenerateNumbers()
    {
        // This would create 1 - 10
        for (int i = 1; i < 11; i++)
        {
            ListItem li = new ListItem();
            li.Text = i.ToString();
            li.Value = i.ToString();
            ddlAge.Items.Add(li);
        }
    }
于 2012-05-04T14:26:39.313 回答
2
for (int a = 17; a <= 90; a++)
{
    ddlAge.Items.Add(new ListItem(a.ToString(), a.ToString()));
}
于 2012-05-04T14:24:48.910 回答
2
for (int i = 17; i <= 90; i++)
{
    ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Insert(0, new ListItem("Select Age", "0")); //First Item
ddlAge.Items.Insert(ddlAge.Items.Count, new ListItem("90+", "90+")); //Last Item
于 2013-12-12T13:14:09.627 回答
0
for (int i = 0; i <=91; i++)
    {
        if (i == 0)
        {
            ddlAge.Items.Add("Select Age");
        }
        else if(i<=90)
        {
            ddlAge.Items.Add(i.ToString());
            i++;
        }
        else
        {
         ddlAge.Items.Add("90+");
        }
    }
于 2013-07-01T16:48:37.293 回答