Я не отвечаю на ваш вопрос полностью, потому что я не совсем уверен, чего вы пытаетесь достичь, но я приложу все усилия ...
Вы хотите получить свой ImageID, верно?Если ваш запрос возвращает ImageID, добавьте «ImageID» к свойству DataKeyNames вашего GridView.Таким образом, вы можете получить к нему доступ для каждой строки.
Метод, который, на мой взгляд, может оказаться полезным, - это метод RowDataBound.Вызывается, когда каждая строка связана с данными (очевидно ...).Используйте его, это ваш друг.
Из этого метода вы можете вызывать методы и т. Д. Для каждой строки.Вы также можете получить RowIndex, используя e.Row.RowIndex
.
Например, чтобы получить свой «ImageID» для заполнения свойства asp: Image ImageUrl, вы можете использовать что-то, например:
var Image1 = (Image)e.Row.FindControl("Image1");
var imageId = Convert.ToInt32(GridView1.DataKeys[e.Row.RowIndex].Values["ImageID"]);
Image1.ImageUrl = GetImageUrlFromId(imageId); //Get the url of your image
Youможет также заполнить ваш выпадающий список, чтобы выбрать правильное значение SelectedValue текущего ImageID.
Надеюсь, это поможет.Код был весь в моей голове, поэтому некоторые вещи могут быть немного не так.
Короче говоря.Используйте свойство DataKeyNames и событие RowDataBound.