我能在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>
任何人都可以帮助我吗?
答案 0 :(得分:0)
在DataBinding控件之后,您将使用:
DetailsView1.Rows[0].Cells[0].FindControl("id")
尝试,它可能会起作用或相应地更改行或单元格索引。
答案 1 :(得分:0)
首先,
DetailsView view = (DetailsView)LoginView1.Rows[0].FindControl("DetailsView1");
然后,
Label id = (Label)view.rows[0].FindControl("id");