Asp.Net Изображение в событии onclick datalist onclick?возможно ли это?

StackOverflow https://stackoverflow.com/questions/732553

Вопрос

Хорошо, я работаю над этой галереей уже некоторое время, и мне продолжают попадаться маленькие лакомые кусочки.Теперь пришло время покончить с этим.У меня есть список данных, который привязывается к массиву 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" и делает с ним все, что вы хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top