2015-07-13 4 views
4

Я пытаюсь заполнить выпадающий список с сервера sql, используя классы, как показано ниже. Код разбивается, когда дело касается привязки данных к выпадающему списку. Он дает ошибку при предоставлении выпадающему списку dataValueField и datatTextField.Каков способ заполнения выпадающего списка из базы данных в asp.net с помощью классов?

HTML ... a.aspx

<asp:DropDownList ID="NationalityDropDownList" runat="server" > 
</asp:DropDownList> 

C# ... a.aspx.cs

protected void Page_Load(object sender, EventArgs e) 
    { 
     Classes.Nationality PossibleNationality = new Classes.Nationality(); 
     if (!Page.IsPostBack) 
     {    
      DataTable dataTable = PossibleNationality.getNationality(); 
      NationalityDropDownList.DataSource = dataTable; 

      NationalityDropDownList.DataValueField = "ID"; 
      NationalityDropDownList.DataTextField = "Nationality"; 
      NationalityDropDownList.DataBind(); 
     } 
    } 

Nationality.cs

public class Nationality 
{ 
    public DataTable getNationality() 
    { 
     SqlConnection conn; 
     SqlCommand comm; 
     string connectionString = ConfigurationManager.ConnectionStrings["InformationConnection"].ConnectionString; 
     conn = new SqlConnection(connectionString); 
     comm = new SqlCommand("spGetAllUsers", conn); 
     comm.CommandType = CommandType.StoredProcedure; 
     DataTable dataTable; 
     try 
     { 
      conn.Open(); 
      SqlDataAdapter da = new SqlDataAdapter(); 
      da.SelectCommand = comm; 
      dataTable = new DataTable(); 
      da.Fill(dataTable); 
     } 
     finally 
     { 
      conn.Close(); 
     } 
     return dataTable; 
    } 
} 

процедура SQL ....

ALTER PROCEDURE [dbo].[spGetNationalities] 
AS 
BEGIN 
    select * from Nationality; 
END 

ответ

2

Эта строка кода в вашем методе getNationality ...

comm = new SqlCommand("spGetAllUsers", conn); 

... должно быть это вместо

comm = new SqlCommand("spGetNationalities", conn); 

Databinding должен работать, если Nationality таблица имеет столбцы ID и Национальность

Смежные вопросы