在带有弹出窗口的网格中显示二进制图像
本文关键字:网格 显示 二进制 图像 窗口 | 更新日期: 2023-09-27 17:56:24
我的页面上有一个 asp.net 数据网格。此网格将有三列。身份证、日期和照片。
照片列是表 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>