SqlDataAdapter ldylAdapter = new SqlDataAdapter("select  * from a,b,c where (a.CardID=b.CardID) and (b.ModuleID=c.ModuleID) order by a.RevertCardID desc", mycon);
            DataSet ldylSet = new DataSet();
            ldylAdapter.Fill(ldylSet, "ldyl");
            DLl.DataSource = ldylSet;
            DLl.DataBind();数据存放在三张表abc:a有所有的信息,b有这些信息的分类ID,c是这些分类ID的名字DLl是datalist的 ID在前台
<asp:HyperLink ID="ClassName" runat="server" ForeColor="red"  NavigateUrl='<%#"xinxi_fen.aspx?ModuleID=" + Eval("ModuleID") %>' Text='<%#getlanmu(DataBinder.Eval(Container.DataItem,"ModuleID")) %>'>
</asp:HyperLink>提示DataBinding:“System.Data.DataRowView”不包含名为“ModuleID”的属性。
也就是获取不到ModuleID的值....
怎么解决?
                                            

解决方案 »

  1.   

    在前台DLl里面引用
    <asp:HyperLink ID="ClassName" runat="server" ForeColor="red"  NavigateUrl=' <%#"xinxi_fen.aspx?ModuleID=" + Eval("ModuleID") %>' Text=' <%#getlanmu(DataBinder.Eval(Container.DataItem,"ModuleID")) %>'>
    </asp:HyperLink>提示DataBinding:“System.Data.DataRowView”不包含名为“ModuleID”的属性。
    也就是获取不到ModuleID的值....
    怎么解决? 
      

  2.   

    三个表关联一下。inner join on 
      

  3.   


                ldylAdapter.Fill(ldylSet, "ldyl"); 
    //            DLl.DataSource = ldylSet; 
                  DLl.DataSource = ldylSet.Table["ldy1"]; 
                DLl.DataBind(); 
      

  4.   

    三个表关联一下                              inner join on 
      

  5.   

    怎么关联啊?小弟菜鸟
    where (a.CardID=b.CardID) and (b.ModuleID=c.ModuleID)
    这样还不行吗?
      

  6.   

    三张表关联起来后,b表中的ModuleID和c表中的ModuleID同时出现,绑定时不知道显示那个就会报错