1

我正在尝试在我的 Web 应用程序中创建一个菜单项,将父节点设置为登录网站的当前用户的用户名。子节点都将是相同的上下文。

目前我一直在尝试使用写出用户名<% Page.User.Identity.Name.ToString(); %> 但是我发现一旦用户登录到该站点,该值将保持为空。下面是我一直在玩的整个代码块。您会注意到 loginName 控件仍然存在(用于测试)

<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
    <AnonymousTemplate></AnonymousTemplate>
    <LoggedInTemplate>            
        <div class="loginDisplay">
         Welcome&nbsp;
         <% Page.User.Identity.Name.ToString(); %>
         <asp:LoginName ID="HeadLoginName" runat="server" /> &nbsp; | 
         <asp:LoginStatus ID="HeadLoginStatus" runat="server" 
              LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/" />
        </div>             
    </LoggedInTemplate>
</asp:LoginView>

我希望有一个看起来像的菜单项

用户名(父节点)+菜单项1(子节点)+菜单项2(子节点)

使用上述方法甚至可能不正确,因此我非常感谢任何建议或对更有效方法的评论。

提前致谢

4

1 回答 1

2

你忘了等号。您也不需要.ToString()位,因为这就是等号的含义。

<%= Page.User.Identity.Name %>  
于 2011-04-11T15:23:43.003 回答