CS: 
protected void Page_Load(object sender, EventArgs e) 
    { 
        if (!this.IsPostBack) 
        { 
            this.BindTopMenu(); 
        } 
    } 
    public void BindTopMenu() 
    { 
        this.DataList1.DataSource = Commodity.GetTopCommodityProducts(1, 4); 
        this.DataList1.DataBind(); 
    } 数据方面: 
CommodityId ....
8           .... 
7           ....
5           ....
3           ....HTML: 
<img src=" <%# DataBinder.Eval(Container.DataItem,"CommoditySmallPic","{0}") %>" alt=" <%# DataBinder.Eval(Container.DataItem, "CommodityName", "{0}")%> "/> 
<br /> <%# Strings.CutString(Eval("CommodityName").ToString(),25)%>  
<br /> <%# DataBinder.Eval(Container.DataItem,"CommodityId","{0}")%> 
<br /> <%#Eval("CommodityId") %> 
<br /> <%# DataBinder.Eval(Container.DataItem,"CommodityId") %> 
<br /> <%#(int)DataBinder.Eval(Container.DataItem, "CommodityId")%> CommoditySmallPic和CommodityName都读出来 并且显示了,但读出的CommodityId 都等于0在CS文件中 
使用Append方法捆绑 也不能获得CommodityId 
GridView 
DataList 
都获得不了CommodityId 但是使用任何方法在其它页面获得CommodityId 没问题 删除JS文件也没有读出数据!帮我解决下 谢谢

解决方案 »

  1.   

    断点跟踪一下
      this.DataList1.DataSource = Commodity.GetTopCommodityProducts(1, 4); 
      

  2.   

    Commodity.GetTopCommodityProducts(1, 4); 
    这里可能什么也没有返回,或许是没有满足条件的记录。
      

  3.   

    Commodity.GetTopCommodityProducts(1, 4); 
    这个方法中有问题:可能两种:
    一、检查SQL,是否读取CommodityId时系统捕获错误,自动取默认值0?
    二、在实例化Entity时,不小心将Entity中CommodityId处理为0,或获取Reader时出错?