前段时间参考了很多资料,做了个用datagrid显示image的小东东,
一个显示方法是用了下面这个:
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
int id=int.Parse(DataGrid1.DataKeys[(int)e.Item.ItemIndex].ToString().Trim());
((System.Web.UI.HtmlControls.HtmlImage)e.Item.FindControl("img1")).Src="showimage.aspx?id="+id+"&width=150&height=150";
}
}
我现在想把它换成用datalist显示,这个private void DataList1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){}该怎么去写,我定义的datalist是显示4列的,谢谢大家指点!

解决方案 »

  1.   

    datalist代码差不多,你在itemtemplate里面放个宽度为0的label控件和那个id绑定然后在方法里面用findcontrol方法定位控件从而得到该行id值,然后后面的对image的赋值代码也查不多
      

  2.   

    建议楼主不要使用这样的方式绑定,直接在页面上写,效率更高,代码更好看<asp:DataList ID="DataList1" runat="server">
                <ItemTemplate>
                    <table>
                        <tr>
                            <td><img src="showimage.aspx?id=<%#DataBinder.Eval(Container.DataItem,"id") %>&width=150&height=150" />
                            </td>                       
                        </tr>
                        <tr>
                            <td>
                            </td>                       
                        </tr>
                    </table>
                </ItemTemplate>
            </asp:DataList>