我在“表格单元格”中插入了一个标签(称为Label1),该单元格又插入到数据列表中。
为什么在这种情况下,我不能在 Page_Load 方法中使用例如 Label1.Text,但是当我在数据列表之外插入标签时,对 Label1 的任何引用都可以正常工作?
是否有解决方法,因为我需要所述表格单元格中的标签,并且还能够从代码隐藏文件修改其标题(.Text 属性),我计划在其中为其分配存储的值程序。您好,非常感谢您。
我在“表格单元格”中插入了一个标签(称为Label1),该单元格又插入到数据列表中。
为什么在这种情况下,我不能在 Page_Load 方法中使用例如 Label1.Text,但是当我在数据列表之外插入标签时,对 Label1 的任何引用都可以正常工作?
是否有解决方法,因为我需要所述表格单元格中的标签,并且还能够从代码隐藏文件修改其标题(.Text 属性),我计划在其中为其分配存储的值程序。您好,非常感谢您。
Label
控件是为 a 拥有的每一行创建的DataList
,并且它的ID
前缀是它所在的每个容器(因此它不再称为 Label1) - 您需要处理OnItemCreated
或OnItemDataBound
事件,然后找到并将其转换为Label Label1 = (Label)e.Item.FindControl("Label1")
,只有在那之后您才能访问它。
如果控件位于数据列表中,则它将针对列表中的每个项目重复。因此,引用数据列表之外的控件是没有意义的,因为 ASP.NET 不知道要引用哪个实例 - 如果没有数据,甚至不会有任何实例!
您可以访问给定数据列表中的项目的标签,但是:
DataListItem item = dataList.Items[0]; // or whichever item you want
Label label1 = (Label)item.FindControl("Label1");