在做一个测试,关于DropDownlist数据绑定的。有一数据库ebhome.mdb,有一个表名pro_cls,我在上传界面,想通过DropDownlist绑定表pro_cls中字段pro_cls的数据,以方便用户选值数值。
在前台页:
<asp:DropDownList id="Dropdownlist2" runat="server">
<asp:ListItem Value="value" Selected="True">Text</asp:ListItem>
</asp:DropDownList>
后台页:
protected string sql;
protected static string  strConn = "provider=microsoft.jet.oledb.4.0;data source="+HttpContext.Current.Server.MapPath("../"+ConfigurationSettings.AppSettings["strConn"]);
protected OleDbConnection objConn = new OleDbConnection(strConn);
protected OleDbCommand objComm;
protected System.Web.UI.WebControls.DropDownList Dropdownlist2;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
           if(!Page.IsPostBack)
{
    lblPicInfo.Text="未指定上传文件!";
    Dropdownlist2.DataSource=????;
    Dropdownlist2.DataBing();
}
不知具体该如何绑定才能在前台页显示pro_cls的字段内容?
请教了~~~先谢了!!

解决方案 »

  1.   

    Dropdownlist2.TextField = "pro_cls";
    Dropdownlist2.ValueField = "值域";
    Dropdownlist2.DataSource=????;
    Dropdownlist2.DataBind();
      

  2.   

    首先读出数据到DataSet再将DataSet绑定到DDLif(!Page.IsPostBack)
    {
    lblPicInfo.Text="未指定上传文件!";
    Dropdownlist2.DataSource=ds.tables["DsTableName"].DefaultView;
    Dropdownlist2.DataBing();
    }
      

  3.   

    至于DDL的TextField,ValueField楼主既可以在前台写(属性里就有,写数据库表字段就行。)
    也可以在后台写:
    DDL.TextField="文本字段"
    DDL.TextField="值字段"
      

  4.   

    如前台:
    <asp:dropdownlist id="DPSF" CssClass="txtbd" runat="server" DataValueField="SF" DataTextField="SF" AutoPostBack="True"></asp:dropdownlist>
    后台绑定:
    private void Page_Load(object sender, System.EventArgs e) 

     conn.Open(); 
     OleDbDataAdapter comm = new OleDbDataAdapter("Select * from StuAndTea", conn); 
     DataSet ds = new DataSet(); 
     if (!(IsPostBack)) { 
       comm.Fill(ds, "Users"); 
       DPSF.DataSource = ds.Tables("Users").DefaultView; 
       DPSF.DataBind(); 
     } 
    }
      

  5.   

    renyu732(在学.net中...) ,刚按照你的方法写好了,生成时提示如下
    F:\网页之作\ebhome\web\ebmaster\upload1558pic.aspx.cs(51): “System.Data.DataSet.Tables”表示“属性”,此处应为“方法”51行是这个:
    Dropdownlist2.DataSource = ds.Tables("pro_cls").DefaultView; 
    请问该怎么办?
      

  6.   

    将第51行改为:Dropdownlist2.DataSource = ds.Tables["pro_cls"].DefaultView;
                  Dropdownlist2.DataTextField="字段名";
           Dropdownlist2.DataBind();
      

  7.   

    Dropdownlist2.DataSource=数据集;(如你生成的DataSet)
    Dropdownlist2.DataTextField = "pro_cls";//表中的字段
    Dropdownlist2.DataValueField = "值域";//你想得到的值的字段
    Dropdownlist2.DataBind();//绑定