2012-03-14 57 views
0

我開發了一個ASP.NET用戶控件,它的實例可能會在單個頁面上出現好幾次。在不涉及太多應用程序細節的情況下,當任何一個實例的值發生變化時,所有其他實例都需要刷新。目前,爲了達到這個目的,我要求消費頁面實現了一些方法,這些方法遍歷表單上的每個控件,找到我的用戶控件的所有實例,並在每個控件中調用一個Refresh方法。 功能上,它的工作完美。不過,我想迫使消費者頁面的開發人員完全按照我的要求來實現這兩種方法。我可以讓他們實現一個接口,但是不提供每種方法的功能。或者我可以讓它們擴展一個抽象類,但無論是哪種情況(接口或抽象類),我如何強制它們繼承?如果必需的抽象類沒有被消費頁面擴展,我需要一些會觸發編譯器錯誤的東西。有任何想法嗎?asp.net usercontrol開發/實現

謝謝。

回答

0

您可以在C#中使用'abstract methods'或在VB.NET中使用'MustInherit'關鍵字來強制執行。

在你的特殊情況下,你期望開發人員實質上實現'你的'代碼來強制刷新,這是我不希望委託的東西。在不知道太多細節的情況下,我會試圖利用'Observer'設計模式或'Mediator'使用單獨的對象作爲控制器,或者甚至將控制/發佈代碼應用到網頁。這裏有一個'Observer' in ASP.NET的實例。

HTH