<asp:Label ID="lblTID" runat="server" Text='<%#Eval("T_ID") %>' Visible="false"></asp:Label>象这样的一个label绑定Text='<%#Eval("T_ID") %>' 绑定原理是什么. 需要写什么样的后台才能实现Text='<%#Eval("T_ID") %>'的绑定?

解决方案 »

  1.   

    T_ID可以是数据源中的一个字段(相关表)
      

  2.   

    后台的数据源(DataTable,DataReader等)中有T_ID字段
      

  3.   

    如果是repeater就在ItemDataBound处理程序里面写
    ItemDataBound(object sender, RepeaterItemEventArgs e)

        if (e.Item.ItemType == ListItemType.Item ¦ ¦ e.Item.ItemType == ListItemType.AlternatingItem) 
        { 
            e.Item.DataItem as ...//看看这里DataItem的类型然后进行转换 定义一个相应的类型对象进行接收 就可以对这个对象取值了 
            Label l = e.Item.FindControl("lblTID") as Label;...//在这里找到要显示数据的控件 给他的属性赋值 显示你之前取到的数据值 
            //...
        }
    }如果是gridview就在RowDataBound处理程序里面写 处理方式类似
    RowDataBound(object sender, GridViewRowEventArgs e) 

        if (e.Row.RowType == DataControlRowType.DataRow) 
        { 
            e.Row.DataItem as ...
            Label l = e.Row.FindControl("lblTID") as Label;
            //...
        } 

      

  4.   

    看看下面3篇文章,你对数据绑定一定有比较深刻的理解
    http://www.cnblogs.com/hjf1223/archive/2008/05/03/digging_into_binding_expression_1.html
    http://www.cnblogs.com/hjf1223/archive/2008/05/04/digging_into_binding_expression_2.html
    http://www.cnblogs.com/hjf1223/archive/2008/05/05/digging_into_binding_expression_3.html