使用文本和值填充DropDownList

时间:2011-11-12 10:40:42

标签: c# drop-down-menu

我在ASP.NET Webforms中有一个下拉列表,我想计算某一年的特定年份。

在第一行中,2002年是当前年份-9,必须是值,9是visibel文本,显示2002年之前的数字。

2002 9
2003 8
2004 7
2005 6
2006 5
2007 4
2008 3
2009 2
2010 1
2011 0 

我希望5被预选。我怎么做?首先,我不知道如何添加隐藏值(例如2002年的visibel 9)。

这是我的开始......不远,我知道......

 {
        int CT = DateTime.Now.Year;
        int CT10 = CT - 10;

        for (int i = CT10; i <= CT; i++)

        {
            ddlBirthYear.Items.Add(i.ToString());
        }
    }

2 个答案:

答案 0 :(得分:14)

您可以使用ListItem添加文本和值

ddlBirthYear.Items.Add(new ListItem("text", "value"));

您可以使用

选择
ddlBirthYear.SelectedValue = "5";

所以你的循环看起来像这样:

{
  int CT = DateTime.Now.Year;
  int CT10 = CT - 10;

  for (int i = CT10; i <= CT; i++)
  {
    ddlBirthYear.Items.Add(new ListItem(i.ToString(), (CT-i).ToString()));
  }
}

答案 1 :(得分:0)

添加完商品后,请使用SelectedIndex属性预先选择5年前的价值,如下所示:

ddlBirthYear.SelectedIndex = 5;

SelectedIndex属性指向列表中项目的索引

如果要根据其值选择特定年份,则需要使用SelectedValue属性。

ddlBirthYear.SelectedValue = "2008";