访问LoginView中的标签

时间:2011-06-02 21:17:19

标签: c# asp.net

我正在使用asp.net LoginView向经过身份验证的用户或匿名用户显示不同的数据。

<asp:LoginView ID="LoginView1" Runat="server">
    <LoggedInTemplate>
        <asp:Label ID="Foo" runat="server" />
    </LoggedInTemplate>
    <AnonymousTemplate>
        <asp:Label ID="Bar" runat="server" />
    </AnonymousTemplate>
</asp:LoginView>

当我将FooBar移到LoginView1时,我无法以这种方式从后面的代码中访问它们:

Foo.Text = "I am Foo";
Bar.Text = "I am Bar";

在将它们移动到LoginView之前,我能够以这种方式访问​​它们。我可以使用什么(干净)方法来访问这些标签?

1 个答案:

答案 0 :(得分:4)

您需要在LoginView上使用FindControl,并按适当的方式进行Cast,如下所示:

var foo = (Label)LoginView1.FindControl("Foo");
foo.Text =  "I am Foo";