[ASP.NET] HyperLink + Image 实现动态图片链接

要在GridView中动态绑定附件,如果附件存在且为图片时,显示该图片,并且建立超链接;如果附件不是图片,则只显示附件名称,建立超链接;

Html 代码:
<

span >

< asp : HyperLink ID ="lnkAttachment" runat ="server" NavigateUrl =' <%# DataBinder.Eval(Container.DataItem,"AttachmentPath") %> '

                             Target ="_blank" Font-Underline ="True">

< asp : Image ID ="imgAttachment" runat ="server"/>

</ asp : HyperLink >

</
span >

后台代码:

 1 ExpandedBlockStart.gif ContractedBlock.gif   /**/ /// <summary>
 2InBlock.gif    /// 设置图片的可见性
 3InBlock.gif    /// 无附件时,不显示图片
 4InBlock.gif    /// </summary>
 5InBlock.gif    /// <param name="sender"></param>
 6ExpandedBlockEnd.gif    /// <param name="e"></param>

 7 None.gif      protected   void  gvReplyList_RowDataBound( object  sender, GridViewRowEventArgs e)
 8 ExpandedBlockStart.gifContractedBlock.gif     dot.gif {
 9InBlock.gif        if (e.Row.RowType == DataControlRowType.DataRow)
10ExpandedSubBlockStart.gifContractedSubBlock.gif        dot.gif{
11InBlock.gif            if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
12ExpandedSubBlockStart.gifContractedSubBlock.gif            dot.gif{
13InBlock.gif                HyperLink lnkReplyAttach = e.Row.FindControl("lnkReplyAttach"as HyperLink;
14InBlock.gif                Image imgReplyAttach = e.Row.FindControl("imgReplyAttach"as Image;
15InBlock.gif                string extension = lnkReplyAttach.NavigateUrl.Substring(lnkReplyAttach.NavigateUrl.LastIndexOf('.'+ 1).ToLower();
16InBlock.gif                //无附件时,不显示超链接
17InBlock.gif                if (lnkReplyAttach.NavigateUrl.Trim() == "")
18ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
19InBlock.gif                    lnkReplyAttach.Visible = false;
20InBlock.gif                    imgReplyAttach.Visible = false;
21ExpandedSubBlockEnd.gif                }

22InBlock.gif                //存在附件但是不是图片时,只显示附近的名称
23InBlock.gif                else if (extension != "jpg" && extension != "gif")
24ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
25InBlock.gif                    lnkReplyAttach.Text = lnkReplyAttach.NavigateUrl.Substring(lnkReplyAttach.NavigateUrl.LastIndexOf('/'+ 1);
26InBlock.gif                    imgReplyAttach.Visible = false;
27ExpandedSubBlockEnd.gif                }

28InBlock.gif                //附件为图片时,显示图片,不显示该附件文件名称
29InBlock.gif                else
30ExpandedSubBlockStart.gifContractedSubBlock.gif                dot.gif{
31InBlock.gif                    //图片URL
32InBlock.gif                    imgReplyAttach.ImageUrl = lnkReplyAttach.NavigateUrl;
33InBlock.gif                    //自适应图片尺寸
34InBlock.gif                    imgReplyAttach.Attributes.Add("onload""if(this.width>340||this.width<=0){this.resized=true;this.width=340;}");
35ExpandedSubBlockEnd.gif                }

36InBlock.gif                //删除按钮
37InBlock.gif                ImageButton imgDelete = e.Row.FindControl("imgReplyDelete"as ImageButton;
38InBlock.gif                //删除确认对话框
39InBlock.gif                imgDelete.Attributes.Add("onclick""return confirm('" + PublicConstString.confirm_Delete_Relpy + "')");
40ExpandedSubBlockEnd.gif            }

41ExpandedSubBlockEnd.gif        }

42ExpandedBlockEnd.gif    }



转载于:https://www.cnblogs.com/wyforumid/archive/2008/06/02/1212048.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值