C# 如何从服务器floder在gridview中显示图像?

C# 如何从服务器floder在gridview中显示图像?,c#,asp.net,C#,Asp.net,我在下面的代码中遇到错误 <asp:TemplateField HeaderText="Image"> <ItemTemplate> <asp:Image ID="img" runat="server" ImageUrl="~/Attachment/<%#Eval("Image") %>" /> </ItemTemplate> </asp:TemplateField> 错误 分析器错误消息:服务器标记格式不正确

我在下面的代码中遇到错误

 <asp:TemplateField HeaderText="Image">
<ItemTemplate>
   <asp:Image ID="img" runat="server" ImageUrl="~/Attachment/<%#Eval("Image") %>" />
</ItemTemplate>
</asp:TemplateField>

错误 分析器错误消息:服务器标记格式不正确。

请首先尝试以下操作:

 <asp:TemplateField HeaderText="Image">
 <ItemTemplate>
    <asp:Image ID="img" runat="server" ImageUrl="<%# Page.ResolveClientUrl(String.Format("~/Attachment/{0}",Eval("Image"))) %>" />
    </ItemTemplate>
 </asp:TemplateField>
 <asp:GridView runat="server" ID="gvActivities" AllowSorting="true" AllowPaging="true"
        PageSize="25" AutoGenerateColumns="false" Width="100%" OnSorting="gvActivities_Sorting"
        OnRowDataBound="gvActivities_RowDataBound">
        <Columns>

            <asp:TemplateField HeaderText='Image' HeaderStyle-Width="4%"
                SortExpression="ActivityType">
                <ItemTemplate>
                    <asp:Image ID="ImageType" runat="server" AlternateText='<%# Eval("Type") %>' />
                </ItemTemplate>
            </asp:TemplateField>
protected void gvActivities_RowDataBound(object sender, GridViewRowEventArgs e)
{
   if (e.Row.RowType == DataControlRowType.DataRow)
    {
       Image img = (Image)e.Row.Cells[0].FindControl("ImageType");
       img.ImageUrl = Page.ResolveClientUrl("Image URL path);
       img.AlternateText = "Text";
       img.ToolTip = "Tooltip";
    }
}