如何通过图片的路径及名称将图片显示在GridView中

解决方案 »

  1.   

    GridView里面包含得有你所需要的的这个控件,你可以去看看msdn,那里面就有说到~!
      

  2.   

    在后台获取到数据源然后在前台绑定你实体类中的字段       <asp:GridView ID="gvStudents" CssClass="gvStudents" runat="server" 
                AutoGenerateColumns="False" onpageindexchanging="gvStudents_PageIndexChanging" 
                onrowcancelingedit="gvStudents_RowCancelingEdit" 
                onrowdeleting="gvStudents_RowDeleting" onrowediting="gvStudents_RowEditing" 
                onrowupdating="gvStudents_RowUpdating" PageSize="3" AllowPaging="true">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Label ID="lblImageURl" runat="server"  CssClass="lblImageURl" Text='<%# Eval("ImgURl") %>'></asp:Label>
                        </EditItemTemplate>
                    </ItemTemplate>
                </Columns>
            </asp:GridView>
      

  3.   

    不好意思,<img src='<%#Eval("ImgUrl")%>' alt="图片名称"/>
    如果你要显示图片的名字可以用label显示
      

  4.   

    应该是这样的,把里面的label改成上面的
      

  5.   


           <asp:GridView ID="GridView1" runat="server">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                           <asp:Image ID="img1" ImageUrl='<%#Eval("img") %>' 
                                      runat="server" AlternateText="image lost" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>...
    this.GridView1.DataSource = ds;
    this.GridView1.DataBind();
      

  6.   

    http://liufang-to.blog.163.com/blog/static/617623842008102643410610/http://blog.csdn.net/dongdingbaihe/article/details/4239861
      

  7.   

    <asp:GridView ID="gvStudents" CssClass="gvStudents" runat="server"  
      AutoGenerateColumns="False" onpageindexchanging="gvStudents_PageIndexChanging"  
      onrowcancelingedit="gvStudents_RowCancelingEdit"  
      onrowdeleting="gvStudents_RowDeleting" onrowediting="gvStudents_RowEditing"  
      onrowupdating="gvStudents_RowUpdating" PageSize="3" AllowPaging="true">
      <Columns>
      <asp:TemplateField>
      <ItemTemplate>
     <ItemTemplate>
          <img  src="<%#Eval("图片路径") %>"/> 
        </ItemTemplate>
     
      </EditItemTemplate>
      </ItemTemplate>
      </Columns>
      </asp:GridView>
    试下。
      

  8.   


    <img src="<%#Eval("图片路径") %>"/>图片路径就是手k的方式,我想的是在后台动态的获取,灵活一些的
      

  9.   

    与图片的二进制数据库存储和显示 1.将图片以二进制存入数据库2.读取二进制图片在页面显示3.设置Image控件显示从数据库中读出的二进制图片4.GridView中ImageField以URL方式显示图片5.GridView显示读出的二进制图片====================1.将图片以二进制存入数据库//保存图片到数据库protected void Button1_Click(object sender, EventArgs e){    //图片路径    string strPath = "~/photo/03.JPG";    string strPhotoPath = Server.MapPath(strPath);    //读取图片    FileStream fs = new System.IO.FileStream(strPhotoPath, FileMode.Open, FileAccess.Read);    BinaryReader br = new BinaryReader(fs);     byte[] photo = br.ReadBytes((int)fs.Length);     br.Close();     fs.Close();     //存入    SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");    string strComm = " INSERT INTO personPhoto(personName, personPhotoPath, personPhoto) ";    strComm += " VALUES('wangwu', '" + strPath + "', @photoBinary )";    SqlCommand myComm = new SqlCommand(strComm, myConn);    myComm.Parameters.Add("@photoBinary", SqlDbType.Binary,photo.Length);    myComm.Parameters["@photoBinary"].Value = photo;    myConn.Open();    myComm.ExecuteNonQuery();    myConn.Close();}2.读取二进制图片在页面显示//读取图片SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");string strComm = " SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ";SqlCommand myComm = new SqlCommand(strComm, myConn);myConn.Open();SqlDataReader dr = myComm.ExecuteReader();while (dr.Read()){    byte[] photo = (byte[])dr["personPhoto"];    this.Response.BinaryWrite(photo);}dr.Close();myConn.Close();或SqlConnection myConn = new SqlConnection("Data Source=127.0.0.1;Initial Catalog=TestDB;User ID=sa;Password=sa");SqlDataAdapter myda = new SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ", myConn);DataSet myds = new DataSet();myConn.Open();myda.Fill(myds);myConn.Close();byte[] photo = (byte[])myds.Tables[0].Rows[0]["personPhoto"];this.Response.BinaryWrite(photo); 3.设置Image控件显示从数据库中读出的二进制图片 ---------------------------------------------SqlConnection myConn = new SqlConnection("Data Source=192.168.0.36;Initial Catalog=TestDB;User ID=sa;Password=sa");SqlDataAdapter myda = new SqlDataAdapter(" SELECT personPhoto FROM personPhoto WHERE personName='wangwu' ", myConn);DataSet myds = new DataSet();myConn.Open();myda.Fill(myds);myConn.Close();byte[] photo = (byte[])myds.Tables[0].Rows[0]["personPhoto"];//图片路径string strPath = "~/photo/wangwu.JPG";string strPhotoPath = Server.MapPath(strPath);//保存图片文件BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath,FileMode.OpenOrCreate));bw.Write(photo);bw.Close();显示图片this.Image1.ImageUrl = strPath; //4.GridView中ImageField以URL方式显示图片----------------------------<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">    <Columns>        <asp:BoundField DataField="personName" HeaderText="姓名" />        <asp:ImageField DataImageUrlField="personPhotoPath"             HeaderText="图片">        </asp:ImageField>    </Columns></asp:GridView>后台直接绑定即可 5.GridView显示读出的二进制图片//样板列<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">    <Columns>        <asp:BoundField DataField="personName" HeaderText="姓名" />        <asp:ImageField DataImageUrlField="personPhotoPath"             HeaderText="图片">        </asp:ImageField>        <asp:TemplateField HeaderText="图片">            <ItemTemplate>                <asp:Image ID="Image1" runat="server" />            </ItemTemplate>        </asp:TemplateField>    </Columns></asp:GridView>  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e){    if (e.Row.RowIndex < 0)        return;    // System.ComponentModel.Container    string strPersonName = (string)DataBinder.Eval(e.Row.DataItem, "personName");    Image tmp_Image = (Image)e.Row.Cells[2].FindControl("Image1");    if (!System.Convert.IsDBNull(DataBinder.Eval(e.Row.DataItem, "personPhoto")))    {        //        byte[] photo = (byte[])DataBinder.Eval(e.Row.DataItem, "personPhoto");        //图片路径        string strPath = "~/photo/" + strPersonName.Trim() + ".JPG";        string strPhotoPath = Server.MapPath(strPath);        //保存图片文件        BinaryWriter bw = new BinaryWriter(File.Open(strPhotoPath, FileMode.OpenOrCreate));        bw.Write(photo);        bw.Close();        //显示图片        tmp_Image.ImageUrl = strPath;    }    }