【问题标题】:How to change my Image DataImageUrlFormatString Value inside my GridView in Code?如何在代码中更改我的 GridView 中的 Image DataImageUrlFormatString 值?
【发布时间】:2009-04-24 12:43:02
【问题描述】:

我有一个gridview,一个coulmn是一个图像列。 我将如何更改后面代码中的 DataImageUrlFormatString 值?

我试过这样做,但它不起作用.......

((ImageField)(GridView2.Rows[0].Cells[0].FindControl("ID"))).DataImageUrlFormatString 

 = "~/createthumb.ashx?gu=/pics/gmustang06_2.jpg";

【问题讨论】:

    标签: c# asp.net vb.net gridview


    【解决方案1】:

    试试这个:

     ((System.Web.UI.WebControls.Image)(GridView2.Rows[0].Cells[0].Controls[0])).ImageUrl = "~/createthumb.ashx?gu=/pics/gmustang06_2.jpg";
    

    编辑:

    您可以使用声明性语法设置将在图像控件中显示的图像的路径 URL:

    <asp:ImageField DataImageUrlField="id" DataImageUrlFormatString="img{0}.jpg"></asp:ImageField>
    

    或者在代码后面通过处理 GridView 控件的 OnRowDataBound 事件:

    protected void grd_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            Image img = e.Row.Cells[0].Controls[0] as Image;
            img.ImageUrl = "img" + DataBinder.Eval(e.Row.DataItem, "id") + ".jpg";
        }      
    }
    

    【讨论】:

    • 谢谢它确实有效,但是如果我想更改每个单元格的图像字段,而不仅仅是单元格 [0],我必须做什么以及在哪里更改。就像我在我的 GridView 中有一个 Image 字段和一个从 DB 获得的 ID 字段一样。如果 ID 为 1,那么我想显示 Image1.jpg,如果 ID 为 2,那么我想显示 Image2.jpg,依此类推。这必须在我的 RowDataBound 事件中完成吗?
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2018-05-27
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    相关资源
    最近更新 更多