ASP.NET Repeater FindControl not working for Label, but works for Textbox
我在尝试从中继器获取控件时遇到问题。我有一个标签和一个文本框。标签给了我一个空引用错误,但是文本框正在工作。
标记:
1 2 3 4 5 6 7 8  |     <ItemTemplate> ' runat="server" /> ' step="1" type="number" /> </ItemTemplate> </asp:Repeater>  | 
代码隐藏:
1 2 3 4 5 6 7  | foreach (RepeaterItem repeaterRow in PalletsRepeater.Items) { // This fails. string palletId = ((System.Web.UI.WebControls.Label)repeaterRow.FindControl("lblPalletId")).Text; // This works. string palletItemQty = ((System.Web.UI.WebControls.TextBox)repeaterRow.FindControl("txtPalletItemQty")).Text; }  | 
我在 Stack Overflow 上对此进行了研究,大多数答案都涉及使用 OnItemDatabound 事件,但是当我尝试实现这些答案时,标签仍然返回 null。就使用 OnItemDatabound 事件而言,我个人不理解这些建议。
改变
1  | ' runat="server" />  | 
进入
1  | ' runat="server" />  | 
你找不到它,因为它没有 ID