ASP .NET - 从选定的Listview控件行中检索值?

时间:2010-01-08 18:17:06

标签: c# asp.net listview

我的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 个答案:

答案 0 :(得分:2)

如果routenameLabel是服务器控件,我相信在访问属性之前你必须这样做:

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

您发布的代码是否出错?

修改:请注意,在真实代码中,您需要在转换为Label之前测试null。

答案 1 :(得分:1)

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

应该是:

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

.Text而非.ID,我们已经知道标签的名称。