Элемент управления Listview содержит 4 столбца и 30 строк. Я могу получить номер строки, используя:
//get row of listview item
ListViewDataItem item1 = e.Item as ListViewDataItem;
int findMe = item1.DisplayIndex;
Как мне получить значения из одного или всех четырех столбцов?
Я пытался:
this.lblReponseRoute.Text = item1.FindControl("routenameLabel").ID.ToString();
Update1:
Окончательное решение:
//get row of listview item
ListViewDataItem item1 = e.Item as ListViewDataItem;
int findMe = item1.DisplayIndex;
//find label value
var routeLabel = (Label)ListView1.Items[findMe].FindControl("routenameLabel");
this.lblReponseRoute.Text = routeLabel.Text;
Если routenameLabel
- это серверный элемент управления, я считаю, что вам нужно будет использовать его как таковое до доступа к свойствам:
var routeLabel = (Label)item1.FindControl("routenameLabel");
lblResponseRoute.Text = routeLabel.ID.ToString();
Вы получаете сообщение об ошибке, которую вы опубликовали?
Изменить: Обратите внимание, что в вашем реальном коде вы хотите протестировать значение null перед тем, как нанести ярлык.
var routeLabel = (Label)item1.FindControl("routenameLabel");
lblResponseRoute.Text = routeLabel.ID.ToString();
Это должно быть:
var routeLabel = (Label)item1.FindControl("routenameLabel");
lblResponseRoute.Text = routeLabel.Text.ToString();
.Text
not .ID
, мы уже знаем имя метки.