<asp:DropDownList ID="DropDownList2" runat="server"  DataTextField='<%# Eval("Name") %>'/>using(OleDbConnection conn = (OleDbConnection)Session["DB_CONN"])
        {
            OleDbCommand select = conn.CreateCommand();
            select.CommandText = "select * from persons";
            DataSet ds = new DataSet();
            OleDbDataAdapter da = new OleDbDataAdapter();
            da.SelectCommand = select;
            da.Fill(ds,"Persons");
            DropDownList2.DataSource = ds.Tables[0];
            DropDownList2.DataBind();
        }异常说明如下:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.

解决方案 »

  1.   

    <asp:DropDownList ID="DropDownList2" runat="server"  DataTextField='name'/>
      

  2.   

    对了,谢谢.能告诉我什么时候才需要用到<%# Eval("Name")%>这种东西么?
      

  3.   

    DropDownList2不也是数据绑定么?能举例说明么?实在是搞不懂
      

  4.   

    通常是数据绑定控件的模板内,例如
    <asp:TemplateColumn HeaderText="aaa">
                    <ItemStyle width="35%" ></ItemStyle>
                    <ItemTemplate>
                        <Common:HrmHyperLink ID="link" runat="server" Text='<%#Eval("aaa") %>' Target="_blank"></Common:HrmHyperLink>
                    </ItemTemplate>
                    </asp:TemplateColumn>
      

  5.   

    哦,好像有点明白了,如果是动态字段值的话那就用eval,如果是静态的就不用对么?
      

  6.   

    这个... 
    绑定的值就用, DataTextField是指定的值, 非绑定.
      

  7.   

    <asp:DropDownList ID="DropDownList2" runat="server"  DataTextField='<%= name%>'/>public string name="";
    using(OleDbConnection conn = (OleDbConnection)Session["DB_CONN"])
            {
                OleDbCommand select = conn.CreateCommand();
                select.CommandText = "select * from persons";
                DataSet ds = new DataSet();
                OleDbDataAdapter da = new OleDbDataAdapter();
                da.SelectCommand = select;
                da.Fill(ds,"Persons");
                name="Name";
                DropDownList2.DataSource = ds.Tables[0];
                DropDownList2.DataBind();
            }
      

  8.   

    上面的可以了,我现在知道<%# name%>就是返回里面的值,但还是没有说明Eval是什么意思啊!
      

  9.   

    Evel方法用于计算运行时的数据绑定表达式,并按照浏览器显示的要求来格格式化输出结果。该方法有3个参数。
    1.数据项目的命名容器
    2.数据字段名
    3.格式字符串