在asp.net中添加两次usercontrol

时间:2010-09-30 09:20:47

标签: asp.net vb.net user-controls

我有一个有几个链接的用户控件,其中一个是“添加文章”。它放在文章的顶部和底部。当用户点击它时,文本将更改为“已添加文章”。

但是文本只会针对其中一个已被点击的链接进行更改。如何才能使文本发生变化,无论哪个文本被点击?

1 个答案:

答案 0 :(得分:0)

如果更改用户控件本身的文本,并且由于单击其中一个实例上的某个按钮而发生回发,则只会控制该控件。这只是简单的默认行为。

如果您希望其他控件对应,则需要公开事件,在用户控件上的按钮单击事件中引发该事件,并将该基础页面订阅到该事件,以使其保持控制并可在所有实例上设置某些属性用户控件设置某个文本。

所以:

Button click  
-> postback  
 -> user control 1 captures click event 
  -> user control 1 raises an event 

=> webform captures this event 
 -> webform sets property of user controls 1 & 2 
   (which are both instances of the same user control you created) 
   which show the text according to what's passed in via the property.