-1

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

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

4

1 回答 1

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”,以便在绑定其数据项时实际触发事件。

于 2013-03-22T00:25:47.290 回答