Asp.Net/C#-如何获取嵌套在中继器中的Label控件的文本?
我正试图获取位于中继器内的标签文本,但我不断得到Asp.Net/C#-如何获取嵌套在中继器中的Label控件的文本?,c#,asp.net,repeater,C#,Asp.net,Repeater,我正试图获取位于中继器内的标签文本,但我不断得到NullPointerException 所有的数据都来自数据库,并且都是正确的 当我点击LinkButton时,我想将标签文本用于下一位代码 Aspx页面: <asp:Repeater ID="RepeaterDepartmentParent" runat="server"> <ItemTemplate> <div id="outerDiv" class="col-
NullPointerException
所有的数据都来自数据库,并且都是正确的
当我点击LinkButton时,我想将标签文本用于下一位代码
Aspx页面:
<asp:Repeater ID="RepeaterDepartmentParent" runat="server">
<ItemTemplate>
<div id="outerDiv" class="col-lg-3 col-xs-6" runat="server">
<!-- small box -->
<div>
<div class="inner">
<p>
<%# DataBinder.Eval(Container.DataItem, "Department_Namestr")%>
</p>
</div>
<asp:Label ID="lblDepartmentId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Department_Idint")%>' Visible="true"></asp:Label>
<asp:LinkButton ID="linkChildDepartment" CommandName="Click" runat="server" CssClass="small-box-footer" OnClick="linkChildDepartment_Click">More info<i class="fa fa-arrow-circle-right"></i></asp:LinkButton>
</div>
</div><%--<%-- ./col -->--%>
</ItemTemplate>
</asp:Repeater>
如何正确引用链接按钮标签文本?您可以使用
NamingContainer
属性获取RepeaterItem
的引用。从那里可以很快找到您的标签:
protected void linkChildDepartment_Click(Object sender, EventArgs e)
{
LinkButton linkChildDepartment = (LinkButton) sender;
RepeaterItem item = (RepeaterItem) linkChildDepartment.NamingContainer;
Label myLabel = (Label)item.FindControl("lblDepartmentId");
// ...
}
您可以使用
NamingContainer
属性获取RepeaterItem
的引用。从那里可以很快找到您的标签:
protected void linkChildDepartment_Click(Object sender, EventArgs e)
{
LinkButton linkChildDepartment = (LinkButton) sender;
RepeaterItem item = (RepeaterItem) linkChildDepartment.NamingContainer;
Label myLabel = (Label)item.FindControl("lblDepartmentId");
// ...
}
哦,谢谢你,伙计。它工作得很好@蒂姆·施梅尔特罗,谢谢你,伙计。它工作得很好@tim Schmelter可能重复“是”,但这让我在“您需要设置属性OnItemDataBound=“myFunction”这一行中感到困惑,我不想使用OnItemDataBound。。如果你在那里看到答案,我们不需要使用它。我们只需要使用NamingContainer就可以了。可能是的重复,但这让我在“您需要设置属性OnItemDataBound=“myFunction”这一行上感到困惑,我不想使用OnItemDataBound。。如果你在那里看到答案,我们不需要使用它。我们只需要使用NamingContainer即可。