我有在运行时加载用户控件的 asp.net 页面我想在用户控件上捕获页面的保存/取消事件。
用户控件将在运行时加载,因此,为了进一步开发,我不想在页面级别更改我的代码。
任何帮助。
我有在运行时加载用户控件的 asp.net 页面我想在用户控件上捕获页面的保存/取消事件。
用户控件将在运行时加载,因此,为了进一步开发,我不想在页面级别更改我的代码。
任何帮助。
我在观察者模式的帮助下解决了它,但做了一些修改,因为我的挑战是 Page 不知道哪个用户控件将在其占位符的运行时加载。
我创建了变更管理器,其中包含具有预期类型的观察者引用(提交、取消、仅查看)
Page 持有 change-manager 的引用,并用 (eventtype(enum),response(this.response object)) 调用 change manager 的 notify,然后 change manager 调用 update 方法在这个方法中调用 Observers,保存在 change 字典中——经理。
迭代字典并根据他们感兴趣的事件类型调用他们的更新。
现在我可以自由地记住任何类型转换的用户控件引用。
请参阅下面的从页面获取用户控制的示例,您需要使用公共修饰符
///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);
}