2010-08-03 9 views
0

Le projet est un défaut ASP.net Site construit en 2010. vs Je suis nouveau à asp.net et a été tout simplement des expériences avec la page principale pour afficher uniquement un menu lorsque vous êtes connecté.LoggedinTemplate Non Affichage lorsque vous êtes connecté

Je suis la suivante dans la page maître.

<asp:LoginView ID="MenuLoginView" runat="server" EnableViewState="false"> 
        <asp:LoggedinTemplate> 
        <asp:Label runat="server" Text="TESTING"></asp:Label> 
        <asp:Menu ID="NavigationMenu1" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> 
       <Items> 
        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> 
        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> 
        <asp:MenuItem NavigateUrl="~/Courselist.aspx" Text="About"/> 

       </Items> 
      </asp:Menu> 
        </asp:LoggedinTemplate> 
        <AnonymousTemplate> 
      <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> 
       <Items> 
        <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> 
        <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> 

       </Items> 
      </asp:Menu> 
     </AnonymousTemplate> 

        </asp:LoginView> 

Le modèle AnonymousTemplate fonctionne correctement. Cependant, lorsque je me connecte à mon utilisateur, le menu entier disparaît. J'ai cherché sur le Web et les résultats devaient regarder mon étiquette d'autorisation de config de Web qui ressemble à ceci.

<authentication mode="Forms"> 
    <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> 
</authentication> 

Qu'est-ce que je fais mal?

PS. J'ai également essayé de placer le MENU IDS au même nom et cela ne fonctionne pas non plus.

Merci d'avance.

Répondre

1

Si vous mis en place un MembershipProvider, assurez-vous que le nom de l'utilisateur ne soit pas vide, lorsque vous créez un MembershipUser:

return new MembershipUser(Name, myUser.Name, ...) 

EDIT:

supprimer l'espace de noms asp du Loggedintemplate:

<LoggedinTemplate> 
.... 
</LoggedinTemplate> 
+0

Désolé mais je ne fais rien de tout cela dans le code. J'ai littéralement seulement fait un nouveau projet qui vient préconstruit. J'essayais d'obtenir un nouveau menu pour montrer quand seulement connecté mais rien ne montre. Il supprime effectivement le menu lorsque je suis connecté. Curieusement, j'ai ajouté des rôles et qui répond au code que j'ai mis sous le .. mais si son sous ne se passe rien. Je suis à perte. – Mikael

+0

peut-être que j'ai trouvé le problème, regardez ma réponse éditer – onof

+0

étonnant c'était tout. Quelque chose d'aussi petit cause tous ces problèmes. Merci – Mikael

0

S'il vous plaît commenter l'étiquette <remove name="FormsAuthentication" /> sous étiquette modules dans votre web.config:

<system.webServer> 
    <modules> 
    <!--<remove name="FormsAuthentication" />--> 
    </modules> 
</system.webServer> 

Cela a résolu le problème pour moi.