我想将标签-i created-in Datalist模板绑定到col -named“item”-in my dataSource
我在几次试验后使用了以下代码
DataList2.DataSource = dt; // my DataSource
Label l1 = (Label)DataList2.FindControl("itemLabel");
l1.Text = dt.Rows[0]["item"].ToString();
DataList2.DataBind();
我在第3行遇到以下错误我正在寻找正确的表达
Object reference not set to an instance of an object.
任何帮助将不胜感激..
答案 0 :(得分:1)
标签为空,因为NamingConainer
(用于FindControl
)不是DataList
,而是DataListItems
之一(DataList
用于DataBind
多个项目。)
所以你首先需要DataItem
,然后才能处理它的ItemDataBound
事件。在那里,您可以找到标签和基础void Item_Bound(Object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ||
e.Item.ItemType == ListItemType.AlternatingItem)
{
// Retrieve the Label control in the current DataListItem.
Label itemLabel= (Label)e.Item.FindControl("itemLabel");
DataRow row = ((DataRowView)e.Item.DataItem).Row;
String item = row.Field<string>("item");
itemLabel.Text = item;
}
}
。
{{1}}