2013-03-28 70 views
1

我面臨在asp.net,在那裏我使用2下拉列表中的一個問題用數據庫填充值,如何訪問下拉列表這是越來越在asp.net

一個是州和其他城市。

和,我有2代表的 「狀態」(STATE_ID(PK),STATE_NAME)和 「城市」(city_id(PK),CITY_NAME,STATE_ID(FK))

我可以填充ddlState(其使用狀態表的狀態我的下拉列表)

的代碼是:

​​

還我可以填充下拉列表城市即ddlCity(在狀態變化事件下拉列表)

這個代碼是:

protected void ddlState_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     int state_id = Convert.ToInt32(ddlState.SelectedValue.ToString()); 

     dt = objGetCity.getcity(state_id); 

     ddlCity.Items.Add("Select City"); 

     ddlCity.Visible = true; 

     ddlCity.DataSource = dt; 

     ddlCity.DataValueField = dt.Columns["city_id"].ToString(); 
     ddlCity.DataTextField = dt.Columns["city_name"].ToString(); 
     ddlCity.DataBind(); 
    } 
現在

同時調試運行,所有的時候,「STATE_ID = 1」,這就是爲什麼它不顯示我的任何其他城市的其他state.what可能是我注意到的問題解決方案?

+1

確保它不是由於回傳! – Mogli 2013-03-28 09:24:58

+0

要擴展Anands建議:請向我們展示您的'Page_Load'和類似事件。將它們分解爲代表您的DropDownList的代碼。 – 2013-03-28 09:28:14

回答

2

確保您填寫ddlState頁面負載的條件不回傳,即確保您在Page_Load事件添加了這個

if(!Page.IsPostBack) 
{ 

dt = objGetCity.getState(); 

ddlState.DataSource = dt; 

ddlState.DataTextField = dt.Columns["state_name"].ToString(); 
ddlState.DataValueField = dt.Columns["state_id"].ToString(); 
ddlState.DataBind(); 
} 
+0

謝謝你。有效... :) – Girish 2013-03-28 09:40:33