请问像当当网这种介绍图书的形式,左边图片+右边文字介绍,外加图片按钮:网址如下
http://list.book.dangdang.com/01.54.06.htm(1)这种介绍的方式能用datalist或者datagrid实现吗?(2)我知道datalist能这样绑定数据:
 <asp:DataList ID="dataList1" runat="server">
     <ItemTemplate>
       <table>
         <tr>
          <td>
            编号:#<%# DataBinder.Eval(Container.DataItem,"id") %>
            ...
          </td>
         </tr>
       </table>
     </ItemTemplate>
  </asp:DataList>
要是数据是图片(二进制数据)的话应该怎么绑定?datalist里能添加像当当网那样的添加到购物车的按钮么?(3)换了datagrid呢?
<asp:DataGrid id="dg" runat="server">
     <Columns>
     <asp:BoundColumn HeaderText="编号" DataField="id" ReadOnly="True"/>
     </asp:ButtonColumn>
     </Columns>       
</asp:DataGrid> 
能添加图片信息么?

解决方案 »

  1.   

    在<td>中放入 image 控件。参考:
    http://www.google.cn/search?q=image%E6%8E%A7%E4%BB%B6+imageurl+%E7%BB%91%E5%AE%9A+%22%7E%22+&complete=1&hl=zh-CN&rls=com.microsoft%3Azh-cn%3AIE-SearchBox&rlz=1I7GGLS
      

  2.   

    图片(二进制数据)数据库中读取显示
                MemoryStream ms = new MemoryStream((Byte[])dr["name"]);
                Bitmap image = new Bitmap(ms);
                string filepath = Server.MapPath("Files/");
                DirectoryInfo dir = new DirectoryInfo(filepath);
                FileInfo[] filecount = dir.GetFiles();
                int i = filecount.Length;
                imagename = filepath + ((i + 1) + ".jpg");
                image.Save(imagename);
                dr.Close();
                Image1.ImageUrl = "Files/" + ((i + 1) + ".jpg");
    你只要把image1放入datalist和datagrid中就可以啦。
    不知道我理解是否正确!
      

  3.   

    图片最好不要放到数据库中存储,在数据库中存储图片的路径。
    你在DataList的模版列中放入一个Table,给这个Table弄一下格式,然后再分别绑定就行了。
    就这样:
     <asp:DataList ID="DataList2" runat="server" >
                <ItemTemplate>
                    <table>
                        <tr>
                            <td rowspan="3" >
                               <asp:Image ID="Image1" runat="server" ImageUrl="<%#DataBinder.Eval(Container.DataItem, "图片路径列").ToString()%>" /></td> //这个为图片,绑定的是路径
                            <td style="width: 111px">
                               <asp:Label ID="lblTitle" Text="<%#DataBinder.Eval(Container.DataItem, "物品名称").ToString()%>"></asp:Label></td>  //这个是显示物品的标题
                        </tr>
                        <tr>
                            <td style="width: 111px">
                               <asp:Label ID="Label1" Text="<%#DataBinder.Eval(Container.DataItem, "内容").ToString()%>"></asp:Label></td>//这个是显示物品的内容
                        </tr>
                        <tr>
                            <td style="width: 111px">
                               <asp:Label ID="Label2" Text="<%#DataBinder.Eval(Container.DataItem, "其他").ToString()%>"></asp:Label></td>//其他等..
                        </tr>
                    </table>
                </ItemTemplate>
            </asp:DataList>
      

  4.   

    这句无法通过编译啊
    <asp:Image   ID="Image1"   runat="server"   ImageUrl=" <%#DataBinder.Eval(Container.DataItem,"图片路径列").ToString()%> "   /> </td> 老是有"服务器标记的格式不正确",把"图片路径列"改成'图片路径列'也不行...
      

  5.   

    我改成这样也不行,显示出来的图像是一个红叉
    <asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("图片路径列")%>' />
      

  6.   

    参考相关:http://download.csdn.net/source/326039http://download.csdn.net/source/323966
      

  7.   

    我在数据库中的路径是这样写的:
    ../Pic/bookPic/C++路径应该是没错的,但就是显示不出来啊