2012-02-27 69 views
3

我有幾個頁面都有GridView控件。在這一控制有需要實現幾個事件(OnRowDataBoundOnEditing,等...)繼承自asp:GridView

任何建議儘量從頁面,這將迫使我(虛擬函數)來實現每個事件的繼承?由於GridView是一個控件,我無法想象這會如何。我如何繼承控件?

回答

2

這樣做的一個常用方法是包含在UserControl

你的GridView如果放置在用戶控制你的網格,並訂閱那裏所有的事件,那麼你可以重複使用此實現你想要的任何地方應用程序 - 你基本上只是用你想要的功能包裝用戶控件,然後在任何地方重複使用這個包裝。

整潔的事情是,你只需要編寫一次代碼。

這就是我認爲你想要做的。

如果你想延長或處理用戶控件外,這些事件,不過,你需要重新實現它們(即添加自己的事件處理程序和讓那些泡了)。

你不能強迫任何人訂閱你的活動。

如果您想要強制實施這些事件,那麼您可以將這些事件放在一個接口上,然後在該類上實現該接口或將其添加到其中的控件。由於事件在界面上,因此只有在界面已經實施時才能進行編譯。

如果您有特定用例,我可以嘗試添加示例。

+0

那麼我該如何強制每個使用此控件的頁面實現所有事件?我會在這個新的用戶控件中添加類似的功能,而不是特定於此控件嗎? – duckmike 2012-02-27 16:09:31

+0

該頁面不需要執行這些事件;它只需要訂閱他們。你不能強迫某人訂閱活動。如果你想確保這些事件總是被執行,那麼你在你的用戶控件中這樣做,但它確實取決於你想要做什麼。 – dash 2012-02-27 16:12:18

+0

可以請你給一個鏈接,已經在usercontrol中實現了gridview的包裝?謝謝 – Pankaj 2012-02-28 15:49:50