Asp.Net Изображение в событии onclick datalist onclick?возможно ли это?
Вопрос
Хорошо, я работаю над этой галереей уже некоторое время, и мне продолжают попадаться маленькие лакомые кусочки.Теперь пришло время покончить с этим.У меня есть список данных, который привязывается к массиву URL-адресов изображений * .aspx, содержащих идентификатор миниатюры, который отправляется через URL.Теперь мне нужно реализовать событие onclick, чтобы, когда пользователь нажимает на фотографию, он переходил к реальному изображению.
пример URL-адреса:
(миниатюра) = ~/Страницы пользователя / Фото/GetThumbnail.aspx?id=7
(actualpic) = ~/Страницы пользователя/ Фото/GetPhoto.aspx?id=7
То, что мне нужно:Как мне сделать так, чтобы у каждой фотографии было событие onclick?Я попытался добавить onclick в imag src, но это не сработало.Это сложно, потому что это не фактический элемент управления изображениями, они существуют внутри datalist.Мне также нужно знать, как извлечь URL-адрес миниатюры при нажатии, чтобы я мог получить идентификатор и перенаправить на фактическое изображение.Помогите, пожалуйста!
<asp:DataList ID="dlImages" runat="server"
RepeatColumns="5"
RepeatDirection="Horizontal"
RepeatLayout="Flow">
<ItemTemplate>
<img src="<%# ResolveUrl((string)Container.DataItem) %>" />
</ItemTemplate>
</asp:DataList>
Код, Стоящий за:
dlImages.DataSource = ImageUrls;
dlImages.DataBind();
Решение
Можете ли вы завернуть его в a
пометка?
<ItemTemplate>
<a href="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetPhoto.aspx?id={0}", Container.DataItem)) %>"><img src="<%# ResolveUrl(String.Format("~/UserPages/Photo/GetThumbnail.aspx?id={0}", Container.DataItem)) %>" /></a>
</ItemTemplate>
Это предполагает, что ваш DataItem
содержит только идентификатор.
Другие советы
Попробуй:
<ItemTemplate>
<img src="<%# ResolveUrl((string)Container.DataItem) %>" onclick="doSomething(this)" />
</ItemTemplate>
После этого вы можете просто реализовать функцию doSomething, которая анализирует идентификатор из "this.src" и делает с ним все, что вы хотите.