<asp:Label ID="lblTID" runat="server" Text='<%#Eval("T_ID") %>' Visible="false"></asp:Label>象这样的一个label绑定Text='<%#Eval("T_ID") %>' 绑定原理是什么. 需要写什么样的后台才能实现Text='<%#Eval("T_ID") %>'的绑定?
------解决方案--------------------------------------------------------
T_ID可以是数据源中的一个字段(相关表)
------解决方案--------------------------------------------------------
后台的数据源(DataTable,DataReader等)中有T_ID字段
------解决方案--------------------------------------------------------
如果是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;
//...
}
}
------解决方案--------------------------------------------------------
datalist与repeater类似
------解决方案--------------------------------------------------------
看看下面3篇文章,你对数据绑定一定有比较深刻的理解
http://www.cnblogs.com/hjf1223/archive/2008/05/03/digging_into_binding_expression_1
http://www.cnblogs.com/hjf1223/archive/2008/05/04/digging_into_binding_expression_2
http://www.cnblogs.com/hjf1223/archive/2008/05/05/digging_into_binding_expression_3