我在Repeater中有一个ListView,我喜欢从转发器中的tbl中检索Id值,并将其分配给ListView中的txtBox。我的问题是我无法在列表视图中找到控件(在转发器控件内)。 (我相当新btw)
我得到了这个(对象引用没有设置为obj的实例..)以防万一我想再次说清楚,我有一个转发器,我在这个转发器中有table和listView。所以我想从表列中检索ID值作为转发器中显示的每个项目,并将此单独的ID分配给ListView中的控件,以便我可以通过其primary.ID = FK.ID附加和显示数据。我通过“repeaterGetSelectedID”属性从转发器项目中收集ID并将其指向转发器外部的标签,但是我喜欢将此ID值分配给listView内的文本框,尽管我在listView中找不到控件。希望我已经设法解释。谢谢!!!!
答案 0 :(得分:1)
您希望使用ItemDataBound事件来访问转发器的控件:
protected void repeaterID_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
ListView listView = e.Item.FindControl("listViewID") as ListView;
TextBox textBox = listView.FindControl("textBoxID") as TextBox;
textBox.Text = listView.StringYoureLookingFor;
}
}
确保将转发器的OnItemDataBound
属性设置为" repeaterID_ItemDataBound"所以事件实际上在绑定其数据项时被触发。