Domanda

Ho una semplice, una sola pagina in ASP.NET (C #). Volevo aggiungere controllo login, quindi ho solo aggiunto LoginView come segue:

<form id="form1" runat="server">

<asp:LoginView ID="LoginView1" runat="server">

    <AnonymousTemplate>
        <asp:Login ID="Login1" runat="server">
        </asp:Login>
    </AnonymousTemplate>

    <LoggedInTemplate>
        ... here I put all the page elements (buttons, grid views, etc.)
    </LoggedInTemplate>

</asp:LoginView>   

</form>

Quando eseguo il mio progetto ottengo gli errori di compilazione nel mio file di codice-behing:

The name xxxx does not exist in the current context

Che cosa sto facendo di sbagliato? Sono nuovo in ASP.NET, quindi probabilmente si tratta di qualche stupido errore che faccio.

È stato utile?

Soluzione 2

Ho trovato questo come la soluzione per il mio problema. Posso usare questo, per ottenere i miei oggetti.

Label Label1 = (Label)LoginView1.FindControl("Label1");

Non so se è l'unica soluzione. Forse qualcuno ha una migliore.

Altri suggerimenti

Ci sono diverse possibili cause di questo problema.

La prima è che si dispone di un copia di backup di questo stesso file qualche parte nel progetto.

Un altro è che due file diversi ASPX stanno usando lo stesso file CS per il codice -behind.

Un terzo è che ti sei dimenticato di includere System.Web o qualche altro file è necessario.

La speranza uno di questi aiuta!

La mia soluzione: Questo è un progetto esemplare caso di web-application. Soluzione: Destra progetto scatto in VisualStudio scegliere "Converti in applicazione web". questa è una buona soluzione

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top