LoggedinTemplate не отображается при входе в систему - PullRequest
0 голосов
/ 03 августа 2010

Проект является веб-сайтом ASP.net по умолчанию, созданным в версии 2010 года. Я новичок в asp.net и просто экспериментировал с главной страницей, чтобы отображать меню только после входа в систему.

У меня есть следующее на главной странице.

<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>

AnonymousTemplate работает отлично. Однако, когда я вхожу в мой пользователь, все меню исчезает. Я искал в Интернете, и в результате я увидел тег авторизации веб-конфигурации, который выглядит следующим образом.

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

Что я делаю не так?

PS. Я также попытался установить для идентификаторов МЕНЮ одно и то же имя, и это тоже не работает.

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 03 августа 2010

Если вы внедрили MembershipProvider, убедитесь, что имя пользователя не пустое, при создании MembershipUser:

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

РЕДАКТИРОВАТЬ:

удалить пространство имен aspс Записанного лога:

<LoggedinTemplate>
....
</LoggedinTemplate>
0 голосов
/ 28 июня 2016

Пожалуйста, закомментируйте тег <remove name="FormsAuthentication" /> под тегом modules в вашем web.config:

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

Это исправило проблему для меня.

...