如何将一个转发器的控制权访问另一个转发器的OnItemCommand()方法?

时间:2010-10-15 10:55:43

标签: c# asp.net

假设我想在repater2的ItemCommand()方法中看到repeater1的标签。

e.Item.FindControl("rpt1Label").Visible=True;

无法正常工作。你还要做其他事吗?

[编辑]

将其更改为repeater1.FindControl("rpt1Label").Visible=True;

这是抛出对象引用null异常

1 个答案:

答案 0 :(得分:2)

转发器内的

(转发器的正常方式):

Label thisLabel = (Label)e.item.findcontrol("rpt1Label");

if(thislabel != null 
{
   thislabel.visible = true;
}

如果您的第一个转发器中嵌套了第二个转发器:

Repeater thisRepeater = (Repeater)e.Item.FindControl("repeaterName");
Label thisLabel = (Label)thisRepeater.findcontrol("rpt1Label"); 

if(thislabel != null  
{ 
   thislabel.visible = true; 
} 

通常可以通过访问:

从repeater2访问repeater1
(Label) thisLabel = (Label)this.repeater1.findcontrol("labelname");