Hi sri.s,
I have created sample that full fill your requirement.
HTML
<table>
<tr>
<td>
<asp:DropDownList ID="ddlYears" runat="server" Width="100">
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="ddlMonths" runat="server" Width="100">
<asp:ListItem Text="January" Value="1" />
<asp:ListItem Text="February" Value="2" />
<asp:ListItem Text="March" Value="3" />
<asp:ListItem Text="April" Value="4" />
<asp:ListItem Text="May" Value="5" />
<asp:ListItem Text="June" Value="6" />
<asp:ListItem Text="July" Value="7" />
<asp:ListItem Text="August" Value="8" />
<asp:ListItem Text="September" Value="9" />
<asp:ListItem Text="October" Value="10" />
<asp:ListItem Text="November" Value="11" />
<asp:ListItem Text="December" Value="12" />
</asp:DropDownList>
</td>
<td>
<asp:DropDownList ID="ddlDates" runat="server" Width="100">
</asp:DropDownList>
</td>
</tr>
<tr>
<td colspan="3" align="center">
<asp:Button Text="Calculate" runat="server" OnClick="CalculateAge" />
</td>
</tr>
<tr>
<td>
You are :
</td>
<td colspan="3" align="center">
<asp:TextBox runat="server" ID="txtAge" Width="220" />
</td>
</tr>
</table>
Code
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dtYear = new DataTable();
dtYear.Columns.Add("Year", typeof(int));
for (int i = 1980; i <= DateTime.Now.Year; i++)
{
dtYear.Rows.Add(i);
}
ddlYears.DataTextField = "Year";
ddlYears.DataValueField = "Year";
ddlYears.DataSource = dtYear;
ddlYears.DataBind();
DataTable dtDate = new DataTable();
dtDate.Columns.Add("Date", typeof(int));
for (int i = 1; i <= 31; i++)
{
dtDate.Rows.Add(i);
}
ddlDates.DataTextField = "Date";
ddlDates.DataValueField = "Date";
ddlDates.DataSource = dtDate;
ddlDates.DataBind();
}
}
protected void CalculateAge(object sender, EventArgs e)
{
DateTime today = DateTime.Now;
string year = ddlYears.SelectedValue;
string month = ddlMonths.SelectedValue;
string date = ddlDates.SelectedValue;
DateTime dob = Convert.ToDateTime(month + "/" + date + "/" + year);
TimeSpan ts = today - dob;
DateTime age = DateTime.MinValue + ts;
int years = age.Year - 1;
int months = age.Month - 1;
int days = age.Day - 1;
txtAge.Text = String.Format("{0} year/s {1} month/s {2} day/s old", years, months, days);
}
Screenshot
