将UserControl的按钮链接到父控件上的函数

时间:2012-06-12 18:28:20

标签: asp.net

我有一个带有“保存”和“取消”按钮的用户控件,我在另一个用户控件中显示。当用户点击Save时,我希望内部用户控件执行它的标准功能,但我也希望父控件做一些事情。处理此问题的最佳方法是什么?

2 个答案:

答案 0 :(得分:2)

最好的方法是提出一个自定义 save - 事件,你可以在"外部"控制。

http://www.codeproject.com/Articles/8797/Mastering-Page-UserControl-Communication#4.3

此事件方法的优点是UserControls仍然可以重复使用。即使他们没有处理此事件,您也可以在其他页面(或UserControls)中使用UserControl A.它是控制器的一部分,用于决定需要什么以及应该做什么。

UserControls作为规则不应该依赖于特定的控制器,否则它们是硬连接的而不是可重用的。这也是令人讨厌的错误的良好来源。 UserControl可能是其他嵌套(用户)控件的控件,但不是页面本身的控件。

通讯摘要

  • Page - > UserControl - >公共财产和方法
  • UserControl - >页面 - >事件
  • UserControl - > UserControl - > controller-UserControl采用页面角色(见上面的用例)

答案 1 :(得分:0)

气泡活动适合账单http://msdn.microsoft.com/en-us/library/aa719644(v=vs.71).aspx

您可以在用户控件中引发一个bubble事件,它将递归地传递给每个用户控件的祖先,直到它被处理为止