Переход от asp: Image или asp: ImageButton? - PullRequest
0 голосов
/ 24 октября 2008

Я получил эту логику в элементе управления, чтобы создать правильный URL для изображения. Мой элемент управления в основном должен отображать изображение, но на самом деле src представляет собой сложную строку, основанную на различных параметрах, указывающих на сервер изображений.

Поэтому мы решили создать элемент управления MyImage, полученный из asp: Image - он работает как шарм. Теперь мне нужна та же логика, но теперь мое изображение должно реагировать на щелчок. Я имею в виду, что «MyImage» используется для отображения изображений на сайте, но в некоторых редких случаях я хотел бы, чтобы он был кликабельным.

Я думаю, что у меня есть три варианта.

  1. Измените MyImage для получения из asp: ImageButton вместо asp: Image.
  2. Скопируйте весь код из MyImage в новый MyClickImage и получайте из asp: ImageButton.
  3. Оберните логику в MyImage, чтобы добавить гиперссылку, внедрите IPostbackHandler для этой гиперссылки и добавьте логику для обработки события.

Очевидно, я бы очень хотел избежать использования варианта 2), поскольку мне пришлось бы поддерживать два почти идентичных элемента управления. Проблема с вариантом 1) , как я его вижу (возможно, я ошибаюсь?) Это то, что все изображения на сайте, которые не должны быть кликабельными, автоматически станут кликабельными. Вариант 3) кажется слишком сложным, так как мне пришлось бы поддерживать состояние, события и создавать ссылку вручную.

Я ищу быстрый ответ типа «ты глуп, просто установите свойство« x »в false, если вы не хотите, чтобы оно было кликабельным» - но если я не ошибаюсь, это не так очевидно и, конечно, был бы более сложный ответ:)

РЕДАКТИРОВАТЬ: Добавлен 3-й вариант - я забыл поставить его там в первую очередь:)

Ответы [ 2 ]

0 голосов
/ 24 октября 2008

Гах, ладно, я тупой, мне просто нужно установить enabled = "false", если я не хочу, чтобы он был кликабельным. Я думаю, что они должны были использовать другое имя, но «включено», поскольку оно имеет другое значение для других элементов управления.

0 голосов
/ 24 октября 2008

Я бы полностью избежал всего деривационного бизнеса и просто добавил бы параметр JavaScript onclick к своему изображению при необходимости.

Я не знаю, что будет делать клик на вашей странице, но я думаю, что это можно сделать с помощью клиентского JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...