在以下代码中,strUsername 始终返回为空字符串“”(其他列也是如此)。
但是,如果我使用 ItemArray 并通过传递列索引来访问它,它就可以正常工作。如何通过列名而不是索引来访问?
protected void dlst_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.DataItem != null)
{
string strUsername = DataBinder.Eval(e.Item.DataItem, "Username").ToString(); -----> this returns as an empty string
}
}
答案在这里:ItemDataBound 'e.item.dataitem("key")' with ListView Control
此外,
DataBinder.Eval
在ItemDataBound
中不可用。