C# 使用sqlCommand检索列';图像';从表';工具';并绑定到GridView中的特定列

C# 使用sqlCommand检索列';图像';从表';工具';并绑定到GridView中的特定列,c#,sql,asp.net,gridview,C#,Sql,Asp.net,Gridview,基本上,我正在编写一个程序,通过一个表单,让一个人上传一个工具的图像,然后在另一个页面中可以查看工具&其中一列是图像 下面是我用来在GridView中“放置”图像的代码 <asp:TemplateField HeaderText="Image"> <EditItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Text='

基本上,我正在编写一个程序,通过一个表单,让一个人上传一个工具的图像,然后在另一个页面中可以查看工具&其中一列是图像

下面是我用来在GridView中“放置”图像的代码

<asp:TemplateField HeaderText="Image">
                    <EditItemTemplate>
                        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Image") %>'></asp:TextBox>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Image ID="Image1" runat="server" Height="100px" Width="100px"
                                ImageUrl='<%#"data:Image/png;base64," + Convert.ToBase64String((byte[])Eval("ImageData")) %>'></asp:Image>
                    </ItemTemplate>
                </asp:TemplateField>

谢谢你的帮助

尽管您可以简单地将gridview的datasource属性分配给
rdr
并调用DataBind方法,但它不起作用,因为在
aspx
中,您需要的是ImageData列,但您只获取
图像
列。您在数据库中存储了什么?我指的是二进制格式的图像或图像路径?图像路径,那么您认为这应该如何最好地工作?如果您要存储图像路径,只需获取它并将其分配给gridview的
数据源
。作为样品检查。
   private void LoadImages()
        {
            string cs = ConfigurationManager.ConnectionStrings["ToolsConnectionString"].ConnectionString;
            using (SqlConnection con = new SqlConnection(cs))
            {
                SqlCommand cmd = new SqlCommand("Select Images from Tools",con);
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                GridView1.
            }
        }