使用文本和值填充DropDownList

use*_*103 3 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 
Run Code Online (Sandbox Code Playgroud)

而我希望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());
        }
    }
Run Code Online (Sandbox Code Playgroud)

Eys*_*Bye 14

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

ddlBirthYear.Items.Add(new ListItem("text", "value"));
Run Code Online (Sandbox Code Playgroud)

您可以选择

ddlBirthYear.SelectedValue = "5";
Run Code Online (Sandbox Code Playgroud)

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

{
  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()));
  }
}
Run Code Online (Sandbox Code Playgroud)