我有一个带有“保存”和“取消”按钮的用户控件,我在另一个用户控件中显示。当用户点击Save时,我希望内部用户控件执行它的标准功能,但我也希望父控件做一些事情。处理此问题的最佳方法是什么?
答案 0 :(得分:2)
最好的方法是提出一个自定义 save - 事件,你可以在"外部"控制。
http://www.codeproject.com/Articles/8797/Mastering-Page-UserControl-Communication#4.3
此事件方法的优点是UserControls仍然可以重复使用。即使他们没有处理此事件,您也可以在其他页面(或UserControls)中使用UserControl A.它是控制器的一部分,用于决定需要什么以及应该做什么。
UserControls作为规则不应该依赖于特定的控制器,否则它们是硬连接的而不是可重用的。这也是令人讨厌的错误的良好来源。 UserControl可能是其他嵌套(用户)控件的控件,但不是页面本身的控件。
通讯摘要:
答案 1 :(得分:0)
气泡活动适合账单http://msdn.microsoft.com/en-us/library/aa719644(v=vs.71).aspx
您可以在用户控件中引发一个bubble事件,它将递归地传递给每个用户控件的祖先,直到它被处理为止