在登录视图内的详细信息视图中查找标签

本文关键字:视图 查找 详细信息 标签 登录 | 更新日期: 2023-09-27 17:49:33

我可以在LoginView1中找到DetailsView

DetailsView DetailsView1 = (DetailsView)LoginView1.FindControl("DetailsView1");

以上语句有效…但是我没有在DetailsView

中找到标签
Label id = (Label)DetailsView1.FindControl("id");

上面的语句返回null

我的aspx代码

<asp:LoginView ID="LoginView1" runat="server">
        <LoggedInTemplate>
            <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" 
                DataKeyNames="FeeID" DataSourceID="SqlDataSource1" Height="50px" 
                Visible="False" Width="100%">
                <Fields>
                    <asp:TemplateField HeaderText="FeeID" InsertVisible="False" 
                        SortExpression="FeeID">
                        <EditItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("FeeID")%>'></asp:Label>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:Label ID="id" runat="server" Text='<%# Bind("FeeID") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
        </Fields>
                    </asp:DetailsView>
        </LoggedInTemplate>
            <AnonymousTemplate>
            Access Denied.
            </AnonymousTemplate>
        </asp:LoginView>

有人能帮我吗?

在登录视图内的详细信息视图中查找标签

在绑定控件之后,您将使用:

DetailsView1.Rows[0].Cells[0].FindControl("id")

尝试,它可能会工作或更改相应的行或单元格索引

,

DetailsView view = (DetailsView)LoginView1.Rows[0].FindControl("DetailsView1");

,

Label id = (Label)view.rows[0].FindControl("id");