在html中,linkbutton不绑定数据是没问题的,但用Bind或Eval绑定数据时,总说找不到。DataBinding:“System.Data.DataRowView”不包含名为“userid”的属性。
HTML中:
<asp:LinkButton ID="lbtnUser" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"userid") %>'  ></asp:LinkButton>
CS中:        string str = "select distinct userid as 用户名,buytime from orders where submit='True' ";
        con.Open();
        SqlDataAdapter sda = new SqlDataAdapter(str, con);
        DataSet ds = new DataSet();
        sda.Fill(ds);
        GridView1.DataSource = ds;
        GridView1.DataBind();
        con.Close();
    

解决方案 »

  1.   

    <asp:LinkButton   ID="lbtnUser"   runat="server"   Text=' <%#   DataBinder.Eval(Container.DataItem,"用户名")   %> '     > </asp:LinkButton> 
      

  2.   

    要不就在你的查询语句中加一个
    string str = "select distinct userid as 用户名,userid,buytime from orders where submit='True' 
    也可以
      

  3.   

    你选出来的列名为:用户名,所以绑定的时候也得帮定“用户名”
    也就是说:你的语句:"select distinct userid as 用户名,buytime from orders where submit='True' ";
    选出来的列为:用户名,buytime,这两列中没有列名为userid的列,所以说找不到。
    既然用了userid as 用户名 ,就说明你的userid列已被你改成“用户名”列了。