2012-06-20 40 views
0

我試圖將數據加載到文本框中,同時選擇下拉列表,我創建了一個用於檢索的類,並在下拉列表中將所選的索引更改爲名稱。但我無法得到我想要的答案。如果我已經在按鈕單擊事件中調用該類,它已正常工作。所以請糾正我。我犯了一個錯誤。這是我的代碼:從數據庫中檢索C#數據錯誤

public void so() 
    { 
     con.Open(); 
     string s2; 
     s2 = "select Source from tbl_component where Componetcode='" + Mcodeddl.SelectedItem.Text + "'"; 
     SqlCommand c2 = new SqlCommand(s2, con); 
     SqlDataReader d2; 
     d2 = c2.ExecuteReader(); 
     while (d2.Read()) 
     { 
      TextBox1.Text = d2["Source"].ToString().Trim(); 

     } 
     d2.Close(); 
     con.Close(); 
    } 

//i have called the so class here 

protected void Mcodeddl_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     so(); 
    } 
+1

什麼是錯誤報告? –

+0

查詢Componetcode在* Componentcode *中是否存在拼寫錯誤?然後你需要詢問注入 –

+0

有什麼例外?你有沒有調試過你的代碼? – Talha

回答

2

您應該設置一個斷點您Mcodeddl_SelectedIndexChanged方法裏面,看看是否被觸發的情況下,也確保包括AutoPostBack="true"在下拉列表定義

+0

謝謝的aspx頁面的一部分。我忘了檢查自動發回的朋友。再次感謝 – user1455232

+0

不用客氣 – uowzd01

+1

爲什麼我的答案是這樣的呢?它似乎不夠好 – Habib

1

確保您已在aspx頁面

<asp:DropDownList ID="Mcodeddl" runat="server" 
    OnSelectedIndexChanged= "Mcodeddl_SelectedIndexChanged"> 
</asp:DropDownList> 

指定OnSelectedIndexChanged事件下拉還使用parameterized SQL查詢。

PS。你的SO();是一種不是一個類的方法。

+1

我在 – user1455232

+1

@ user1455232之前完成了它,發佈了包含下拉列表 – Habib

1

我已經得到了答案。我詳細說明了我所做的事情。 「Set AutoPostBack = True」