























要在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
/// <summary>
2
/// 设置图片的可见性
3
/// 无附件时,不显示图片
4
/// </summary>
5
/// <param name="sender"></param>
6
/// <param name="e"></param>
7
protected void gvReplyList_RowDataBound(object sender, GridViewRowEventArgs e)
8
{
9
if (e.Row.RowType == DataControlRowType.DataRow)
10
{
11
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
12
{
13
HyperLink lnkReplyAttach = e.Row.FindControl("lnkReplyAttach") as HyperLink;
14
Image imgReplyAttach = e.Row.FindControl("imgReplyAttach") as Image;
15
string extension = lnkReplyAttach.NavigateUrl.Substring(lnkReplyAttach.NavigateUrl.LastIndexOf('.') + 1).ToLower();
16
//无附件时,不显示超链接
17
if (lnkReplyAttach.NavigateUrl.Trim() == "")
18
{
19
lnkReplyAttach.Visible = false;
20
imgReplyAttach.Visible = false;
21
}
22
//存在附件但是不是图片时,只显示附近的名称
23
else if (extension != "jpg" && extension != "gif")
24
{
25
lnkReplyAttach.Text = lnkReplyAttach.NavigateUrl.Substring(lnkReplyAttach.NavigateUrl.LastIndexOf('/') + 1);
26
imgReplyAttach.Visible = false;
27
}
28
//附件为图片时,显示图片,不显示该附件文件名称
29
else
30
{
31
//图片URL
32
imgReplyAttach.ImageUrl = lnkReplyAttach.NavigateUrl;
33
//自适应图片尺寸
34
imgReplyAttach.Attributes.Add("onload", "if(this.width>340||this.width<=0){this.resized=true;this.width=340;}");
35
}
36
//删除按钮
37
ImageButton imgDelete = e.Row.FindControl("imgReplyDelete") as ImageButton;
38
//删除确认对话框
39
imgDelete.Attributes.Add("onclick", "return confirm('" + PublicConstString.confirm_Delete_Relpy + "')");
40
}
41
}
42
}
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。