如何在ASP.NET C#中重定向并在新标签页显示数据库图片?
解决点击动态加载图片在新标签页打开的问题
方案一:改用<a>标签包裹<img>(最简单)
直接替换ImageButton为普通HTML标签,利用Eval生成图片路径,通过target="_blank"实现新标签页打开:
修改File1.aspx的ItemTemplate部分:
<asp:ListView ID="ListView1" runat="server" DataSourceID="SqlDataSource1"> <ItemTemplate> <div class="independence"> <figure class="column"> <a href='<%# Eval("Picture","Admin/AdminGallery/Events/{0}") %>' target="_blank"> <img class="inimg" src='<%# Eval("Picture","Admin/AdminGallery/Events/{0}") %>' /> </a> </figure> </div> </ItemTemplate> </asp:ListView>
无需修改后台File1.cs代码,直接删除原有的Image1_Click方法即可。
方案二:保留ImageButton,通过JavaScript实现新标签页打开
如果必须保留ImageButton控件,可给它添加客户端点击事件,在点击时获取图片URL并打开新标签页:
修改File1.aspx中的ImageButton:
<asp:ImageButton CssClass="inimg" ID="Image1" OnClientClick='window.open("<%# Eval("Picture","Admin/AdminGallery/Events/{0}") %>", "_blank"); return false;' runat="server" ImageUrl='<%# Eval("Picture","Admin/AdminGallery/Events/{0}") %>' />
return false用于阻止ImageButton默认的服务器端回发,避免页面不必要的刷新。同样可以删除后台File1.cs中无用的Image1_Click方法。
内容的提问来源于stack exchange,提问作者Ashutosh Prasad
相关产品推荐
相关产品推荐

