我可以在转发器中的文本框中访问文本,但我无法从转发器中的标签中提取文本值。 转发器是从数据表中填充的,行(x)由sqlreader(x)填充,我不知道这是否有所不同。 我无法使用javascript。我需要从代码隐藏中访问标签值。
<asp:label id="weiLabel" runat="server">
<%#DataBinder.Eval(Container, "DataItem.weiLabel")%>
</asp:label>
是标记
我可以使用以下方法访问同一行的文本框:
featTable.Controls(1).Controls(1).FindControl("costText")
并检索textbox.text,但对标签使用相同的语句会给我{text =“”}。
我已经验证了findcontrol返回的控件的clientID是否正确(featTable__ctl1_weiLabel)
感谢您的帮助
答案 0 :(得分:1)
您可以尝试声明这样的标签:
<asp:label id="weiLabel" runat="server" Text='<%#DataBinder.Eval(Container, "DataItem.weiLabel")%>' / >
答案 1 :(得分:0)
您还可以尝试使用数据绑定方法从后面的代码中将值放入标签中。我发现它更容易调试和清理,然后将其放入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