我在控件中獲得了這個邏輯,爲圖像創建了一個正確的url。我的控件基本上需要顯示圖像,但src實際上是一個基於指向圖像服務器的不同參數的複雜字符串。Interference from asp:Image or asp:ImageButton?
所以我們決定創建一個控件MyImage派生自asp:Image - 它的作用就像一個魅力。現在我需要相同的邏輯,但現在我的圖像需要響應點擊。我的意思是 - 'MyImage'用於在網站上顯示圖像,但在少數情況下,我希望它是可點擊的。
我想我有三個選擇。
- 將MyImage更改爲從asp:ImageButton派生而不是asp:Image。
- 將MyImage中的所有代碼複製到新的MyClickImage中,並從asp:ImageButton派生。
- 在MyImage上纏繞邏輯以添加超鏈接,爲該超鏈接實施IPostbackHandler並添加處理事件的邏輯。
顯然我非常想避免使用選項2),因爲我將不得不維護兩個幾乎相同的控件。與選項1)我看到它的問題(也許我錯了嗎?)是所有不應該是可點擊網站上的圖像將會被自動變成可點擊的。選項3)似乎過於複雜,因爲我將不得不維護狀態,事件並手動建立鏈接。
我正在尋找一個快速回答,比如'你很愚蠢,只是當你不希望它被點擊時將屬性'x'設置爲false' - 但是如果我沒有誤認爲它不是明顯,ofcourse更詳盡的答案就可以了:)
編輯:添加第三個選項 - 我忘了,有擺在首位:)
我需要一個回傳來處理邏輯服務器端,我希望它成爲asp.net postback-flow的一部分,而不是ajax調用等。:) – 2008-10-24 09:24:52