ASP .NET - получить значения из выбранной строки управления Listview?

2

Элемент управления 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; 
Теги:
listview

2 ответа

2
Лучший ответ

Если routenameLabel - это серверный элемент управления, я считаю, что вам нужно будет использовать его как таковое до доступа к свойствам:

var routeLabel = (Label)item1.FindControl("routenameLabel");
lblResponseRoute.Text = routeLabel.ID.ToString();

Вы получаете сообщение об ошибке, которую вы опубликовали?

Изменить: Обратите внимание, что в вашем реальном коде вы хотите протестировать значение null перед тем, как нанести ярлык.

  • 0
    Благодарю. Я не получил никакой конкретной ошибки - просто идентификатор метки, когда я хочу, чтобы это значение. Я отредактировал свой пост с помощью окончательного решения кода.
1
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, мы уже знаем имя метки.

Ещё вопросы

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