在c#.net服务器端创建一个下拉列表

本文关键字:一个 下拉列表 net 服务器端 创建 | 更新日期: 2024-10-23 05:42:00

我尝试在c#.net服务器端创建一个下拉列表。。。但这不起作用。。有人知道这里出了什么问题吗?

    string conncetionStr = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
    SqlConnection msSQLConnectoin = new SqlConnection(conncetionStr);
    SqlCommand msSQLCommand = msSQLConnectoin.CreateCommand();
    msSQLCommand.CommandText = "app_Event_Type_Select";
    msSQLConnectoin.Open();
    SqlDataReader msDataReader = msSQLCommand.ExecuteReader();
    while (msDataReader.Read())
    {
        dropDown.DataSource = msDataReader["Name"].ToString(); 
        dropDown.DataTextField = msDataReader["Name"].ToString();
        dropDown.DataValueField = msDataReader["EventTypeID"].ToString(); 
        dropDown.DataBind();
    }

在c#.net服务器端创建一个下拉列表

string conncetionStr = ConfigurationManager.ConnectionStrings["ApplicationServices"].ConnectionString;
SqlConnection msSQLConnectoin = new SqlConnection(conncetionStr);
SqlCommand msSQLCommand = msSQLConnectoin.CreateCommand();
msSQLCommand.CommandText = "app_Event_Type_Select";
msSQLConnectoin.Open();
SqlDataReader msDataReader = msSQLCommand.ExecuteReader();

dropDown.DataSource = msDataReader; 
dropDown.DataTextField = "Name";
dropDown.DataValueField = "EventTypeID"; 
dropDown.DataBind();
msSQLConnectoin.Close();
msSQLConnectoin.Dispose();
dropDown.Items.Insert(0, "--Select Name--");
}

msDataReader["Name"].ToString()替换为您的数据读取器名称msDataReader

示例代码:

protected void Page_Load(object sender, EventArgs e)
    {
      bindDropdownlist()
    }
public void bindDropdownlist()
    {
         SqlDataAdapter dap = new SqlDataAdapter("select colmn1,colmn2 from table", con);
         DataSet ds = new DataSet();
         dap.Fill(ds);
         DropDownList1.DataSource = ds.Tables[0];
         DropDownList1.DataTextField = "colmn1";
         DropDownList1.DataValueField = "colmn2";
         DropDownList1.DataBind();
         DropDownList1.Items.Insert(0, "..select...");
    }

我认为DataTextField和DataValueField应该是您绑定的属性的字符串表示,请参阅以下相关文章:

 dropDown.DataSource = msDataReader;
 dropDown.DataTextField = "Name";
 dropDown.DataValueField = "EventTypeID";

阅读此处DataSource属性应该设置为包含控件需要绑定到的所有信息的对象。DataTextFieldDataValueField应该是对DataSource对象上实际数据的引用。实现目标的一个简单方法是使用TextValue字段准备DataTable,然后以这种方式绑定控件:

dropDown.DataSource = dt;
dropDown.DataTextField = "Text";
dropDown.DataValueField = "Value";
dropDown.DataBind();

在msdn网站上,你会发现同样的场景。