hi,
I'm trying to populate a ASP.NET DropDownList with SQL Server data using C#.
I can do this just by using VS2008 Drag 'n Drop features but i would like to accomplish this just by using C# code.
The DropDownList component is in the Default.aspx file, and this is the code i have to add data to my DropDownList:
Code:
protected void DropDownList2_Load(object sender, EventArgs e)
{
string data = DropDownList1.SelectedValue;
string connStr = ConfigurationManager.ConnectionStrings["MenuDbConnString"].ToString();
DropDownList2.Visible = true;
using (SqlConnection conn = new SqlConnection(connStr))
{
string sql = "SELECT MenuID, Text, ParentID FROM Menu WHERE ParentID = @MenuID";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
cmd.Parameters.AddWithValue("@MenuID", data);
DropDownList2.DataSource = cmd.ExecuteReader();
DropDownList2.DataTextField = "Text";
DropDownList2.DataValueField = "MenuID";
DropDownList2.DataBind(); //start's looping and doesn't stop :(
DropDownList2.Items.Insert(0, "Sub-Categories");
conn.Close();
}
}
This code it triggered when i select a value from another DDL in the same page. I debugged the project and i noticed that then the "DropDownList2.DataBind();" happens it jumps back to the top of the function and does this until the page time's out.
What is the problem in my code?