Как изменить значение ImageImageUrlFormatString моего изображения в моем GridView в коде?

2

У меня есть gridview, и один coulmn - столбец изображения. Как изменить значение DataImageUrlFormatString в моем коде?

Я попытался сделать это, но он не работает.......

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

 = "~/createthumb.ashx?gu=/pics/gmustang06_2.jpg";
Теги:
gridview

1 ответ

4

Попробуйте следующее:

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

EDIT:

Вы можете установить URL-адрес пути к изображению, которое будет отображаться в элементе управления изображением с помощью декларативного синтаксиса:

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

или в коде за обработкой события OnRowDataBound элемента управления GridView:

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
    Спасибо, это работает, но что я должен делать и где, если я хочу изменить поле изображения в каждой ячейке, а не только в ячейке [0]. Как будто у меня есть поле Image в моем GridView и поле ID, которое я получаю из БД. Делать, если ID равен 1, тогда я хочу отобразить Image1.jpg, а если ID 2, тогда я хочу отобразить Image2.jpg, и так далее, и так далее. Должно ли это быть сделано в моем событии RowDataBound?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню