У меня есть asp.net datagrid на моей странице. Эта сетка будет иметь три столбца. Идентификатор, дата и фотография.
Столбец фотографий является фактическим столбцом таблицы VARBINARY (MAX).
Когда пользователь нажимает на фотографию (которая будет либо текстом, либо значком), я хочу открыть мода jquery с фотографией в полном размере. Пользователь, который может щелкнуть правой кнопкой мыши и сохранить, если захочет.
Я никогда не делал это раньше. Пытался искать в сети, но я нахожу только примеры отображения изображения в столбце, чего я не хочу.
См. Ниже пример кода, чтобы отобразить небольшое изображение в сетке и отобразить его большим, щелкнув по нему.
<asp:GridView runat="server" ID="gvData" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img src='<%# "data:image/gif;base64," + Eval("Data") %>' onclick="DisplayImage(this)" height="10" width="10" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<%--Popup dialog to display large image--%>
<div id="dialog" style="display: none">
<img height="100" width="100" id="imgLargeImage" />
</div>
Примечание: здесь мой тип изображения - gif
поэтому обновите его в соответствии с вашим типом изображения.
JavaScript для отображения изображения во всплывающем окне:
<script type="text/javascript">
function DisplayImage(ctrl) {
document.getElementById('imgLargeImage').src = ctrl.src;
$("#dialog").dialog({
title: "View Details",
buttons: {
Ok: function () {
$(this).dialog('close');
}
},
modal: true
});
}
</script>