“O nome xxx não existe no contexto atual” após a adição de LoginView
Pergunta
Eu tenho um simples, único-página no ASP.NET (C #). Eu queria adicionar controle login, LoginView então eu só adicionado como se 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 eu executar o meu projeto eu recebo erros de compilação no meu arquivo-behing código:
The name xxxx does not exist in the current context
O que estou fazendo de errado? Eu sou novo no ASP.NET, então provavelmente é algum erro estúpido que eu faço.
Solução 2
Eu encontrei este como a solução para o meu problema. Eu posso usar isso, para obter meus objetos.
Label Label1 = (Label)LoginView1.FindControl("Label1");
Eu não sei se é a única solução. Talvez alguém tenha melhor.
Outras dicas
Existem várias causas possíveis deste problema.
Uma delas é que você tem um cópia de backup em algum lugar esse mesmo arquivo em seu projeto.
Outra é que dois arquivos diferentes ASPX estão usando o mesmo arquivo CS para o código -behind.
Uma terceira é que você se esqueceu de incluir System.Web ou algum outro arquivo que você precisa.
Hope um destes ajuda!
A minha solução: Este é um projecto exemplar caso de aplicação web. solução: projeto Botão direito do mouse no VisualStudio escolha "Converter para aplicativo web". esta é uma boa solução