Hi Kranthi,
Do you mean you want a change in city value with respect to the state selected ?
If yes use this
In Default.aspx page
<table>
<tr>
<td>
COUNTRY :
</td>
<td>
<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddl1_SelectedIndexChanged">
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
STATE :
</td>
<td>
<asp:DropDownList ID="ddl2" runat="server"></asp:DropDownList>
</td>
</tr>
</table>
Now Bind the data in Default.aspx.cs PageLoad Event
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection("server=server-name;user id=user-id;password=pwd;database=dbname");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Country", con);
DataSet ds = new DataSet();
da.Fill(ds, "Country");
ddl1.DataSource = ds;
ddl1.DataTextField = "CountryName";
ddl1.DataValueField = "CountryID";
ddl1.DataBind();
con.Close();
}
}
Now the Selected index change event for DropDownList 1
protected void ddl1_SelectedIndexChanged(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("server=server-name;user id=user-id;password=pwd;database=dbname");
string sri = ddl1.SelectedValue.ToString();
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select * from State where CountryID='" + sri + "'", con);
DataSet ds1 = new DataSet();
da.Fill(ds1, "State");
ddl2.DataSource = ds1;
ddl2.DataTextField = "StateName";
ddl2.DataValueField = "CountryID";
ddl2.DataBind();
con.Close();
}
Thanks,
Radha Srikanth
Kranthi, if this helps please login to Mark As Answer. | Alert Moderator