Hi Mayraj,
I have created sample code which fulfill your requirement.
HTML
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<div id="divCountry" runat="server">
<td>
Country:
</td>
<td>
<asp:DropDownList ID="drpcountry" OnSelectedIndexChanged="OnCountryChange" AutoPostBack="true"
runat="server">
</asp:DropDownList>
</td>
</div>
</tr>
<tr>
<div id="divState" runat="server" visible="false">
<td>
State:
</td>
<td>
<asp:DropDownList ID="drpState" AutoPostBack="true" OnSelectedIndexChanged="OnStateChange"
runat="server">
</asp:DropDownList>
</td>
</div>
</tr>
<tr>
<div id="divCity" runat="server" visible="false">
<td>
City:
</td>
<td>
<asp:DropDownList ID="drpCity" runat="server">
</asp:DropDownList>
</div>
</td>
<div id="div2" runat="server" visible="false">
</tr>
</table>
</div>
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GetCountry();
}
}
private void GetCountry()
{
DataTable countrydt = new DataTable();
countrydt.Columns.Add("CountryId", typeof(int));
countrydt.Columns.Add("CountryName");
countrydt.Rows.Add(1, "USA");
countrydt.Rows.Add(2, "India");
drpcountry.DataSource = countrydt;
drpcountry.DataTextField = "CountryName";
drpcountry.DataValueField = "CountryId";
drpcountry.DataBind();
}
protected void OnCountryChange(object sender, EventArgs e)
{
if (int.Parse(drpcountry.SelectedValue) > 0)
{
divCity.Visible = false;
divState.Visible = true;
DataTable statedt = new DataTable();
statedt.Columns.Add("StateId", typeof(int));
statedt.Columns.Add("CountryId", typeof(int));
statedt.Columns.Add("StateName");
if (drpcountry.SelectedValue == "1")
{
statedt.Rows.Add(1, 1, "Alabama");
statedt.Rows.Add(2, 1, "Arizona");
statedt.Rows.Add(3, 1, "Alaska");
}
if (drpcountry.SelectedValue == "2")
{
statedt.Rows.Add(4, 2, "Maharashtra");
statedt.Rows.Add(5, 2, "Gujarat");
statedt.Rows.Add(6, 2, "Goa");
}
drpState.DataSource = statedt;
drpState.DataTextField = "StateName";
drpState.DataValueField = "StateId";
drpState.DataBind();
}
}
protected void OnStateChange(object sender, EventArgs e)
{
if (int.Parse(drpState.SelectedValue) > 0)
{
divCity.Visible = true;
DataTable citydt = new DataTable();
citydt.Columns.Add("CityId", typeof(int));
citydt.Columns.Add("StateId", typeof(int));
citydt.Columns.Add("CityName");
if (drpState.SelectedValue == "1")
{
citydt.Rows.Add(1, 1, "Abbeville");
citydt.Rows.Add(2, 1, "Argo");
}
if (drpState.SelectedValue == "2")
{
citydt.Rows.Add(3, 2, "Buckeye");
citydt.Rows.Add(4, 2, "Carefree");
}
if (drpState.SelectedValue == "3")
{
citydt.Rows.Add(5, 3, "Juneau");
citydt.Rows.Add(6, 3, "Sitka");
}
if (drpState.SelectedValue == "4")
{
citydt.Rows.Add(7, 4, "Mumbai");
citydt.Rows.Add(8, 4, "Pune");
}
if (drpState.SelectedValue == "5")
{
citydt.Rows.Add(9, 5, "Ahmedabad");
citydt.Rows.Add(10, 5, "Gandhinagar");
}
if (drpState.SelectedValue == "6")
{
citydt.Rows.Add(11, 6, "Panjim");
citydt.Rows.Add(12, 6, "Vasco");
}
drpCity.DataSource = citydt;
drpCity.DataTextField = "CityName";
drpCity.DataValueField = "CityId";
drpCity.DataBind();
}
}
Vb.net
Protected Sub Page_Load(sender As Object, e As EventArgs)
If Not IsPostBack Then
GetCountry()
End If
End Sub
Private Sub GetCountry()
Dim countrydt As New DataTable()
countrydt.Columns.Add("CountryId", GetType(Integer))
countrydt.Columns.Add("CountryName")
countrydt.Rows.Add(1, "USA")
countrydt.Rows.Add(2, "India")
drpcountry.DataSource = countrydt
drpcountry.DataTextField = "CountryName"
drpcountry.DataValueField = "CountryId"
drpcountry.DataBind()
End Sub
Protected Sub OnCountryChange(sender As Object, e As EventArgs)
If Integer.Parse(drpcountry.SelectedValue) > 0 Then
divCity.Visible = False
divState.Visible = True
Dim statedt As New DataTable()
statedt.Columns.Add("StateId", GetType(Integer))
statedt.Columns.Add("CountryId", GetType(Integer))
statedt.Columns.Add("StateName")
If drpcountry.SelectedValue = "1" Then
statedt.Rows.Add(1, 1, "Alabama")
statedt.Rows.Add(2, 1, "Arizona")
statedt.Rows.Add(3, 1, "Alaska")
End If
If drpcountry.SelectedValue = "2" Then
statedt.Rows.Add(4, 2, "Maharashtra")
statedt.Rows.Add(5, 2, "Gujarat")
statedt.Rows.Add(6, 2, "Goa")
End If
drpState.DataSource = statedt
drpState.DataTextField = "StateName"
drpState.DataValueField = "StateId"
drpState.DataBind()
End If
End Sub
Protected Sub OnStateChange(sender As Object, e As EventArgs)
If Integer.Parse(drpState.SelectedValue) > 0 Then
divCity.Visible = True
Dim citydt As New DataTable()
citydt.Columns.Add("CityId", GetType(Integer))
citydt.Columns.Add("StateId", GetType(Integer))
citydt.Columns.Add("CityName")
If drpState.SelectedValue = "1" Then
citydt.Rows.Add(1, 1, "Abbeville")
citydt.Rows.Add(2, 1, "Argo")
End If
If drpState.SelectedValue = "2" Then
citydt.Rows.Add(3, 2, "Buckeye")
citydt.Rows.Add(4, 2, "Carefree")
End If
If drpState.SelectedValue = "3" Then
citydt.Rows.Add(5, 3, "Juneau")
citydt.Rows.Add(6, 3, "Sitka")
End If
If drpState.SelectedValue = "4" Then
citydt.Rows.Add(7, 4, "Mumbai")
citydt.Rows.Add(8, 4, "Pune")
End If
If drpState.SelectedValue = "5" Then
citydt.Rows.Add(9, 5, "Ahmedabad")
citydt.Rows.Add(10, 5, "Gandhinagar")
End If
If drpState.SelectedValue = "6" Then
citydt.Rows.Add(11, 6, "Panjim")
citydt.Rows.Add(12, 6, "Vasco")
End If
drpCity.DataSource = citydt
drpCity.DataTextField = "CityName"
drpCity.DataValueField = "CityId"
drpCity.DataBind()
End If
End Sub
Screenshot