2015-12-17 97 views
0

我遇到了一個奇怪的問題:無論我從我的DropDownList中選擇填充的MySQL數據庫,它總是返回第一個項目的值。由MYSQL填充的ASP.NET DropdownList總是返回第一個值

這裏的HTML:

<asp:DropDownList CssClass="form-control" runat="server" ID="selectStudentList"/> 

和C#:

String getStudentsQuery = "SELECT CONCAT(imie,' ',nazwisko) AS name, id FROM users WHERE klasa = " + Session["rok"] + " AND access = 0"; 
     cmd = new MySql.Data.MySqlClient.MySqlCommand(getStudentsQuery, conn); 

     var students = new DataTable(); 
     students.Load(cmd.ExecuteReader()); 
     selectStudentList.DataSource = students; 
     selectStudentList.DataTextField = "name"; 
     selectStudentList.DataValueField = "id"; 
     selectStudentList.DataBind(); 

如果字段corectly填充我檢查。當我選擇從下拉菜單中選擇第二項並通過表單發送時:selectStudentList.SelectedValue總是返回第一項的ID,即使選擇了另一項也是如此

任何提示? :)

+0

您是否嘗試過增加一個 「空項目」,類似的信息(的IsPostBack!) 「 - 選擇一個值 - 」? –

+0

首先請檢查數據表是否正確。 –

回答

1

如果您在頁面加載中加載該下拉列表並且未檢查回發信息,則會這樣做。即因爲您每次都在頁面加載中加載它,所以它會重新加載。

嘗試在拋出C#代碼,如果{// loadHere}

+0

謝謝!完美工作!每天學習新東西:) – ceroceps

+0

是的,不要忘記,如果不是回發。您可能最終會在您構建web窗體的任何頁面中使用它。如果你在一個大頁面上,並且只是意識到你的問題只是需要一些東西而已,它可以讓你發瘋。 –

+0

他是對的,一直髮生 –

相關問題