Я получил эту логику в элементе управления, чтобы создать правильный URL для изображения. Мой элемент управления в основном должен отображать изображение, но на самом деле src представляет собой сложную строку, основанную на различных параметрах, указывающих на сервер изображений.
Поэтому мы решили создать элемент управления MyImage, полученный из asp: Image - он работает как шарм. Теперь мне нужна та же логика, но теперь мое изображение должно реагировать на щелчок. Я имею в виду, что «MyImage» используется для отображения изображений на сайте, но в некоторых редких случаях я хотел бы, чтобы он был кликабельным.
Я думаю, что у меня есть три варианта.
- Измените MyImage для получения из asp: ImageButton вместо asp: Image.
- Скопируйте весь код из MyImage в новый MyClickImage и получайте из asp: ImageButton.
- Оберните логику в MyImage, чтобы добавить гиперссылку, внедрите IPostbackHandler для этой гиперссылки и добавьте логику для обработки события.
Очевидно, я бы очень хотел избежать использования варианта 2), поскольку мне пришлось бы поддерживать два почти идентичных элемента управления. Проблема с вариантом 1) , как я его вижу (возможно, я ошибаюсь?) Это то, что все изображения на сайте, которые не должны быть кликабельными, автоматически станут кликабельными. Вариант 3) кажется слишком сложным, так как мне пришлось бы поддерживать состояние, события и создавать ссылку вручную.
Я ищу быстрый ответ типа «ты глуп, просто установите свойство« x »в false, если вы не хотите, чтобы оно было кликабельным» - но если я не ошибаюсь, это не так очевидно и, конечно, был бы более сложный ответ:)
РЕДАКТИРОВАТЬ: Добавлен 3-й вариант - я забыл поставить его там в первую очередь:)