在RepeView中查找ListView中的控件

时间:2013-03-21 23:04:17

标签: c# asp.net

我在Repeater中有一个ListView,我喜欢从转发器中的tbl中检索Id值,并将其分配给ListView中的txtBox。我的问题是我无法在列表视图中找到控件(在转发器控件内)。 (我相当新btw)

我得到了这个(对象引用没有设置为obj的实例..)以防万一我想再次说清楚,我有一个转发器,我在这个转发器中有table和listView。所以我想从表列中检索ID值作为转发器中显示的每个项目,并将此单独的ID分配给ListView中的控件,以便我可以通过其primary.ID = FK.ID附加和显示数据。我通过“repeaterGetSelectedID”属性从转发器项目中收集ID并将其指向转发器外部的标签,但是我喜欢将此ID值分配给listView内的文本框,尽管我在listView中找不到控件。希望我已经设法解释。谢谢!!!!

1 个答案:

答案 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"所以事件实际上在绑定其数据项时被触发。