我的html中有<asp:DropDownList ID="name1" Runat="server">
然后我的cs如下:
string Connectionstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("~/DataBase/Chat.mdb");
MyConn = new OleDbConnection(Connectionstr);
OleDbCommand MyCommand = new OleDbCommand("select name from userinf",MyConn);
    MyConn.Open();
OleDbDataReader rd =MyCommand.ExecuteReader();

if(rd.Read())
{
name1.DataSource = rd;
name1.DataTextField = rd.GetValue(0).ToString();
name1.DataBind();
}
错误是dropdownlist没有DataBind(0这个属性,我以前这么邦定都可以的,不知道这次为什么不行

解决方案 »

  1.   

    name1.DataValueField = rd.GetValue(0).ToString();
    少了这个吧.
      

  2.   

    myConnection.Open() 
    myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection) 
    DropDownList1.DataSource = myDataReader 
    DropDownList1.DataBind() 
    Catch myException As Exception 
    Response.Write("An error has occurred: " & myException.ToString()) 
    Finally 
    If Not myDataReader Is Nothing Then 
    \\\'关闭DataReader 
    myDataReader.Close() 
    看看别人的
    你去掉if(rd.Read())这个
      

  3.   

    去掉的话就不存在此行和此列数据
    我加了name1.DataValueField = rd.GetValue(0).ToString();
    也不行
    没去掉if(rd.Read())
    错误提示:
    DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。源错误: 
    行 39:  name1.DataTextField = rd.GetValue(0).ToString();
    行 40:  name1.DataValueField = rd.GetValue(0).ToString();
    行 41:  name1.DataBind();
    行 42:  }
    行 43: 
     源文件: c:\documents and settings\lmh1\vswebcache\lmh\chat\bottom.aspx.cs    行: 41 堆栈跟踪: 
    [HttpException (0x80004005): DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。]
       System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName)
       System.Web.UI.DataBinder.GetPropertyValue(Object container, String propName, String format)
       System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e)
       System.Web.UI.Control.DataBind()
       chat.bottom.Page_Load(Object sender, EventArgs e) in c:\documents and settings\lmh1\vswebcache\lmh\chat\bottom.aspx.cs:41
       System.Web.UI.Control.OnLoad(EventArgs e) +67
       System.Web.UI.Control.LoadRecursive() +35
       System.Web.UI.Page.ProcessRequestMain() +731 
      

  4.   

    兄弟:
    少了name1.DataValueField = rd.GetValue(0).ToString();
      

  5.   

    [HttpException (0x80004005): DataBinder.Eval:“System.Data.Common.DbDataRecord”不包含名称为 红 的属性。]
    真正的错误不是在这段代码吧
      

  6.   

    不是在HTML上加上<asp:DropDownList ID="name1" Runat="server">
    然后就可以帮定数据库了?
    如果是的话, 那错误在什么地方?
    VS的问题?
      

  7.   

    if(rd.Read())
    {
    name1.DataSource = rd;
    name1.DataTextField = rd.GetValue(0).ToString();
    name1.DataBind();
    }
    为什么要这么写?