我的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;
答案 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
,我们已经知道标签的名称。