大家好我一直在努力中,我有4個下拉列表是ddlpackage,ddlcategory,ddlsubcategory,ddlpackageprice分別命名爲顯示 以下按鈕是前端的圖像的項目:Image of Front end 這裏是形象數據庫中的表Image of tables from which i have retreived data to show in dropdownlist 現在我遇到的問題是,當從ddlpackage中選擇一個選項,然後單擊顯示我只是得到ddlcategory上的選項,然後再次點擊顯示按鈕即時獲取選項上ddlsubcategory,然後我有再次點擊顯示按鈕以獲得ddlpackage價格的選項。我想顯示所有選項,單擊顯示按鈕,並選擇下拉列表ddlpackage這裏是我的C#代碼:如何在點擊asp.net中的[show]按鈕時從數據庫中選擇下拉列表中的選項來填充其他下拉列表?
private String strConnection = @"Data Source=.\SQLEXPRESS;AttachDbFilename=D:\PROJECT SEM6\Online Tours and Travels\App_Data\ToursandTravels.mdf;Integrated Security=True;User Instance=True";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindPackageDropdown();
}
}
protected void BindPackageDropdown()
{
//conenction path for database
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("select * from package", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlpackage.DataSource = ds;
ddlpackage.DataTextField = "packname";
ddlpackage.DataValueField = "packid";
ddlpackage.DataBind();
ddlpackage.Items.Insert(0, new ListItem("--Select--", "0"));
ddlcategory.Items.Insert(0, new ListItem("--Select--", "0"));
}
protected void ddlpackage_SelectedIndexChanged(object sender, EventArgs e)
{
int packageid = Convert.ToInt32(ddlpackage.SelectedValue);
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("select * from category where Cat_id=" + packageid, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlcategory.DataSource = ds;
ddlcategory.DataTextField = "Cat_name";
ddlcategory.DataValueField = "Cat_id";
ddlcategory.DataBind();
ddlcategory.Items.Insert(0, new ListItem("--Select--", "0"));
}
protected void ddlcategory_SelectedIndexChanged(object sender, EventArgs e)
{
int categoryid = Convert.ToInt32(ddlcategory.SelectedValue);
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("select * from subcategory where catid=" + categoryid, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlsubcategory.DataSource = ds;
ddlsubcategory.DataTextField = "subcatname";
ddlsubcategory.DataValueField = "subcatid";
ddlsubcategory.DataBind();
ddlsubcategory.Items.Insert(0, new ListItem("--Select--", "0"));
}
protected void ddlsubcategory_SelectedIndexChanged(object sender, EventArgs e)
{
int subcategoryid = Convert.ToInt32(ddlsubcategory.SelectedValue);
SqlConnection con = new SqlConnection(strConnection);
con.Open();
SqlCommand cmd = new SqlCommand("select * from package where packid=" + subcategoryid, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
con.Close();
ddlpackageprice.DataSource = ds;
ddlpackageprice.DataTextField = "packageprice";
ddlpackageprice.DataValueField = "packageprice";
ddlpackageprice.DataBind();
ddlpackageprice.Items.Insert(0, new ListItem("--Select--", "0"));
}
請幫忙對不起我的英文...謝謝!
你的問題似乎並不正確,您只需點擊一下「顯示」按鈕,即可填充所有下拉列表(ddl)。這似乎不合邏輯,因爲一個下拉是依賴於前一個。 – Nadeem
所以它不能發生?所以我不得不一次點擊那個按鈕吧?你可以提供一些其他的解決方案,但如果沒有SHOW按鈕,它會適用於我可以不顯示按鈕嗎? @Nadeem –