ASP.NET gridView 显示图片[转载]

读研的生活简直就是扯淡,中国的教育原来就是这么的悲催,后悔去读研了。不感叹了,因为帮朋友忙,写了一个关于这个的东西,所以转载别人的代码,学习,学习,不管以后如何学习都是第一位的。废话不说,上代码。

 

在GridView中显示图片


<1>添加 ImageField , 绑定到数据源的某一列.
<2>编辑模板, 添加一个带Image 的列.

以下详述两种方法:

<1>添加一个gridview 到页面, 点选它的任务菜单"编辑列",   在弹出的编辑框中, 选择ImageField 并点击添加, 然后选中刚刚添加的列, 右侧面板会显示出它的属性, 在DataImageUrlField 属性中, 填入数据表中的列名. 


代码:
<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:ImageField DataImageUrlField="img">
        </asp:ImageField>
    </Columns>
</asp:GridView>


然后编辑后台代码:
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dt.Columns.Add(dc);
dc = new DataColumn("img");
dt.Columns.Add(dc);


DataRow dr = dt.NewRow();
dr[0] = "11111111111111111";
dr[1] = ResolveUrl("~/ok.gif");
dt.Rows.Add(dr);

dr = dt.NewRow();
dr[0] = "22222222222222222";
dr[1] = ResolveUrl("~/ok.gif");
dt.Rows.Add(dr);

GridView1.DataSource = dt;
GridView1.DataBind();

 


<2>编辑模板.  
先编辑前台代码:

<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>


与第一种方式相仿, 它最终的实现机制也是去检索数据源的列名, 所以在Eval 里面, 以字符串的方式给出包含图片url 的列名, 后台代码不变. 最终效果与第一种方式同.

木刀认为: 在目前讨论的情况下, 第一种实现方法似乎更好一些, 不过xxField 控件终究有限, 如果要往里面放其它控件, 就只得借助于模板了, 所以第二种方式是更通用, 更强大的选择.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值