无法使用FindControl在ASP.Net Repeater中获取Label.text

无法使用FindControl在ASP.Net Repeater中获取Label.text,asp.net,text,label,repeater,findcontrol,Asp.net,Text,Label,Repeater,Findcontrol,我可以访问中继器中文本框中的文本,但无法从中继器中的标签中提取文本值。 中继器是从一个数据表中填充的,其中行(x)由sqlreader(x)填充,我不知道这是否有区别。 我不能使用javascript来实现这一点。我需要从codebehind访问标签值 <asp:label id="weiLabel" runat="server"> <%#DataBinder.Eval(Container, "DataItem.weiLabel")%> </asp:label&

我可以访问中继器中文本框中的文本,但无法从中继器中的标签中提取文本值。 中继器是从一个数据表中填充的,其中行(x)由sqlreader(x)填充,我不知道这是否有区别。 我不能使用javascript来实现这一点。我需要从codebehind访问标签值

<asp:label id="weiLabel" runat="server">
  <%#DataBinder.Eval(Container, "DataItem.weiLabel")%>
</asp:label>
并检索textbox.text,但对标签使用相同的语句会得到{text=”“}

我已验证findcontrol返回的控件的clientID是否正确(featTable\uuuuuCTL1\uWeiLabel)


感谢您的帮助

您能试着像这样声明您的标签吗:

<asp:label id="weiLabel" runat="server" Text='<%#DataBinder.Eval(Container, "DataItem.weiLabel")%>' / >

您还可以尝试使用数据绑定方法将代码隐藏中的值输入到标签中。我发现调试和清理比将其放入html更容易一些

 Private Sub repPoliList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles repPoliList.ItemDataBound

    If (e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem) Then

        Dim dr As DataRowView = CType(e.Row.DataItem, DataRowView)

        Dim weiLabel As System.Web.UI.WebControls.Label= CType(e.Item.FindControl("weiLabel"), System.Web.UI.WebControls.Label)
        weiLabel.text= dr("ColumnFromDatabase").toString


    End If

End Sub

您可以在任意行上找到控件的实例,如下所示(c#)
Label-weiLabel=(Label)featTable.Items[someIndex].FindControl(“weiLabel”)
 Private Sub repPoliList_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles repPoliList.ItemDataBound

    If (e.Item.ItemType = ListItemType.Item OrElse e.Item.ItemType = ListItemType.AlternatingItem) Then

        Dim dr As DataRowView = CType(e.Row.DataItem, DataRowView)

        Dim weiLabel As System.Web.UI.WebControls.Label= CType(e.Item.FindControl("weiLabel"), System.Web.UI.WebControls.Label)
        weiLabel.text= dr("ColumnFromDatabase").toString


    End If

End Sub