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

Элемент управления My Listview содержит 4 столбца и 30 строк. Я могу получить номер строки, используя:

//get row of listview item
ListViewDataItem item1 = e.Item as ListViewDataItem;
int findMe = item1.DisplayIndex;

Как тогда получить значения из одного или всех 4 столбцов?

Я пытался:

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; 

Ответы [ 2 ]

2 голосов
/ 08 января 2010

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

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

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

Редактировать: Обратите внимание, что в вашем реальном коде вы хотели бы проверить на нулевое значение перед передачей на метку.

1 голос
/ 22 апреля 2012
var routeLabel = (Label)item1.FindControl("routenameLabel"); 
lblResponseRoute.Text = routeLabel.ID.ToString();

Должно быть:

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

.Text не .ID, мы уже знаем название этикетки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...