如何在用户控件上获取asp.net页面事件

时间:2013-06-17 04:50:52

标签: asp.net user-controls

我有asp.net页面,它在运行时加载用户控件我想在用户控件上捕获页面的保存/取消事件。

用户控件将在运行时加载,因此,为了进一步开发,我不想在页面级别更改我的代码。

任何帮助。

2 个答案:

答案 0 :(得分:1)

我在观察者模式的帮助下解决了这个问题,但进行了一些修改,因为我的挑战是Page,不知道哪个用户控件将在其占位符的运行时加载。

我创建了更改管理器,其中包含Observers引用及其预期类型(提交,取消,查看)

Page持有change-manager的引用并用(eventtype(enum),response(this.response object))调用change manager的notify,然后更改管理器调用update方法在这个方法中调用Observers,保存在字典中改变管理者。

迭代字典并根据他们感兴趣的事件类型调用他们的更新。

现在我可以自由地记住任何类型的转换的用户控件引用。

答案 1 :(得分:0)

请参阅以下从您需要使用公共修饰符的页面获取用户控件的示例

///user control code see event is public 

public void btn1_Click(object sender, EventArgs e)
{
   ///do you stuff
}
/// page code
protected void Page_Load(object sender, EventArgs e)
{
  uc1.btn1_Click(sender,e);
}