在LoginName控件中显示全名而不是用户名

Tys*_*ero 5 c# asp.net

LoginName控件显示用户名.我想显示登录用户的全名而不是用户名.以下是我的代码.我似乎无法在后面的代码中访问LoginName控件.我想知道是否因为控制权在.

ASPX页面:

<asp:loginview id="HeadLoginView" runat="server" enableviewstate="false">
    <AnonymousTemplate>
        [ <a id="HeadLoginStatus" runat="server" href="login">Log In</a> ]
    </AnonymousTemplate>
    <LoggedInTemplate>
        Welcome <span class="bold">
            <asp:LoginName ID="HeadLoginName" runat="server" />
        </span>! [
        <asp:LoginStatus ID="HeadLoginStatus" runat="server" 
            LogoutAction="Redirect" LogoutPageUrl="~/home"
            LogoutText="Log Out" />
        ]
    </LoggedInTemplate>
</asp:loginview>
Run Code Online (Sandbox Code Playgroud)

如果可能,请在C#中的示例后面发布代码...

Tys*_*ero 12

我找到了一个捷径:

LoginName loginName = HeadLoginView.FindControl("HeadLoginName") as LoginName;

        if (loginName != null && session != null)
        {
            loginName.FormatString = "Full Name";
        }
Run Code Online (Sandbox Code Playgroud)

这将在LoginView中找到LoginName控件,然后通过设置FormatString来劫持该值.我希望有一种更优雅的方式来做到这一点.如果有人知道,请按我的方式发送.