#c# #javascript
#c# #javascript
Вопрос:
В настоящее время я пытаюсь получить img
тег для отображения изображения, настроив его src
свойство.
Я использовал asp:ImageButton
как:
asp:ImageButton ID="image" runat="server" ImageUrl='<%# "Images/" Eval("CarMakeId") ".jpg" %>' AlternateText="No image found" />
Изображение отображалось нормально, но я хотел использовать некоторый JavaScript для нажатия кнопки imagebutton.
Я понимаю, что вы не можете установить свойство ‘Click’ в качестве JavaScript, а только в качестве кода, поэтому я перешел на стандартный HTML img
:
img alt="No image found" src='<%# "Images/" Eval("CarMakeId") ".jpg" %>'
onclick="openWindow('Test Message'); return false;" />
Я могу использовать JavaScript для открытия окна, но изображение не найдено для img.
Ответ №1:
Попробуйте добавить атрибут runat="server"
к вашему <img ... />
элементу. Затем это будет доступно как HtmlImage
в вашем классе, поэтому, если вы объявите его как HtmlImage myimg
, вы можете установить его исходный атрибут в классе с помощью myimg.Src = "..."
.
Комментарии:
1. Я должен был упомянуть, что я использую это в сетке, поэтому я получаю CarMakeId из элемента grid, который может отличаться для каждой строки. Я думаю, вы предлагаете установить это в коде за? Правильно ли я говорю, что если бы я устанавливал это в коде, я бы не смог установить CarMakeId?
2. В этом случае вам нужно будет установить его в событии ItemDataBound. Смотрите эту страницу для получения подробной информации: codeproject.com/KB/aspnet/ImageFromDBtoGrid.aspx
Ответ №2:
Решил это, поместив asp: Image внутри ссылки, поэтому не нужно было устанавливать OnClientClick для кнопки изображения. Изображение теперь является частью ссылки и вызывает то же событие при нажатии на ссылку. Также делает код более удобным в обслуживании.