ASP.net .FindControl () und GridView geben null zurück

Ich habe die Seiten auf der Website durchgesehen, kann aber anscheinend nichts Allgemeines für mein Problem finden. Ich hatte gehofft, jemand weiß, was zu tun ist. Ich debugge Code, den jemand anderes geschrieben hat, und habe Probleme mit einer GridView-Anweisung.

Mein Problem ist, dass mein Gridview immer null ist. Ich habe eine deklarierte GridView in einem Panel, das sich in einer LoginView befindet, die im Grunde wie folgt eingerichtet ist.

<asp:LoginView ID="LoginView1" runat="server" onviewchanged="LoginView1_ViewChanged">
<AnonymousTemplate>&nbsp;Please <a href="../Default.aspx"> Log In </a></AnonymousTemplate>
<LoggedInTemplate>
        <asp:Panel ID="Panel1" runat="server">
            <asp:GridView ID="GridView1" runat="server" 
                AutoGenerateColumns="False" CellPadding="2" 
                DataSourceID="SqlDataSource1" ForeColor="Black" GridLines="Horizontal" 
                BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" 
                BorderWidth="1px" Width="970px" OnRowCommand="GridView1_RowCommand" 
                PageSize="40" AllowSorting="True">

Danach habe ich in einer C # -Datei die folgende Anweisung

   GridView GridView1 = (GridView)LoginView1.FindControl("GridView1");

Wenn ich zum Ausführen des Codes gehe, erhalte ich die NullRefrenceException für GridView1. Muss ich mich in das Panel einarbeiten, um die GridView zu aktualisieren, oder sollte ich über das Haupt-LoginView1-Segment darauf zugreifen können?

Bearbeiten: Mein Codefragment wurde so geändert, dass es die Informationen für die anonyme Vorlage enthält

Antworten auf die Frage(2)

Ihre Antwort auf die Frage