2010-10-09 9 views
5

Formant LoginName wyświetla nazwę użytkownika. Chciałbym wyświetlać pełną nazwę zalogowanego użytkownika zamiast nazwy użytkownika. Poniżej znajduje się mój kod. Nie mogę uzyskać dostępu do kontrolki LoginName w kodzie. Zastanawiam się, czy to dlatego, że kontrola jest w.Wyświetl pełną nazwę zamiast nazwy użytkownika w opcji Nazwa logowania w nazwie

ASPX strony:

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

proszę pisać kod za przykłady w C# jeśli to możliwe ...

Odpowiedz

12

że w stanie zorientować się skróty:

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

     if (loginName != null && session != null) 
     { 
      loginName.FormatString = "Full Name"; 
     } 

Znajduje kontroli LoginName wewnątrz LoginView, a następnie porywa wartość ustawiając ŁAŃCUCH_FORMATUJĄCY. Szkoda, że ​​nie było bardziej eleganckiego sposobu robienia tego. Jeśli ktoś wie, wyślij to po swojemu.

0

Sterowanie automatyczne LoginView wydaje się nieco w jego zachowaniu. Możesz przełączyć się na używanie czegoś innego i przejąć inną kontrolę nad doświadczeniem ...

Zamiast tego możesz wypróbować model Login control, aby sprawdzić, czy pozwala on uzyskać wymaganą elastyczność. Na przykład jego. UserName property jest zarówno do odczytu/zapisu.

Login1.UserName = "MY REAL NAME"; 

Podobno obsługuje wiele funkcji za pomocą deklaratywnej składni.

<asp:Login 
    AccessKey="string" 
    BackColor="color name|#dddddd" 
    BorderColor="color name|#dddddd" 
    BorderPadding="integer" 
    BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge| 
     Inset|Outset" 
    BorderWidth="size" 
    CreateUserIconUrl="uri" 
    CreateUserText="string" 
    CreateUserUrl="uri" 
    CssClass="string" 
    DestinationPageUrl="uri" 
    DisplayRememberMe="True|False" 
    Enabled="True|False" 
    EnableTheming="True|False" 
    EnableViewState="True|False" 
    FailureAction="Refresh|RedirectToLoginPage" 
    FailureText="string" 
    Font-Bold="True|False" 
    Font-Italic="True|False" 
    Font-Names="string" 
    Font-Overline="True|False" 
    Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium| 
       Large|X-Large|XX-Large" 
    Font-Strikeout="True|False" 
    Font-Underline="True|False" 
    ForeColor="color name|#dddddd" 
    Height="size" 
    HelpPageIconUrl="uri" 
    HelpPageText="string" 
    HelpPageUrl="uri" 
    ID="string" 
    InstructionText="string" 
    LoginButtonImageUrl="uri" 
    LoginButtonText="string" 
    LoginButtonType="Button|Image|Link" 
    MembershipProvider="string" 
    OnAuthenticate="Authenticate event handler" 
    OnDataBinding="DataBinding event handler" 
    OnDisposed="Disposed event handler" 
    OnInit="Init event handler" 
    OnLoad="Load event handler" 
    OnLoggedIn="LoggedIn event handler" 
    OnLoggingIn="LoggingIn event handler" 
    OnLoginError="LoginError event handler" 
    OnPreRender="PreRender event handler" 
    OnUnload="Unload event handler" 
    Orientation="Horizontal|Vertical" 
    PasswordLabelText="string" 
    PasswordRecoveryIconUrl="uri" 
    PasswordRecoveryText="string" 
    PasswordRecoveryUrl="uri" 
    PasswordRequiredErrorMessage="string" 
    RememberMeSet="True|False" 
    RememberMeText="string" 
    runat="server" 
    SkinID="string" 
    Style="string" 
    TabIndex="integer" 
    TextLayout="TextOnLeft|TextOnTop" 
    TitleText="string" 
    ToolTip="string" 
    UserName="string" 
    UserNameLabelText="string" 
    UserNameRequiredErrorMessage="string" 
    Visible="True|False" 
    VisibleWhenLoggedIn="True|False" 
    Width="size" 
> 
     <CheckBoxStyle /> 
     <FailureTextStyle /> 
     <HyperLinkStyle /> 
     <InstructionTextStyle /> 
     <LabelStyle /> 
     <LayoutTemplate> 
      <!-- child controls --> 
     </LayoutTemplate> 
     <LoginButtonStyle /> 
     <TextBoxStyle /> 
     <TitleTextStyle /> 
     <ValidatorTextStyle /> 
</asp:Login> 
+0

Używam formantu LoginView z wbudowanym elementem kontrolnym LoginName. Problem polega na tym, że ta kontrolka wyświetla tylko nazwę użytkownika, a nie przyjazne pełne imię i nazwisko użytkownika. –

+0

Jestem prawie pewny, że kontrola logowania służy do uwierzytelniania (wprowadzania), a nie wyświetlania. Ustawienie właściwości Username ustawia wartość, do której chcesz wysłać do serwera w celu uwierzytelnienia. Popraw mnie, jeśli się mylę. –

+0

To jest w porządku. Możesz wypróbować inny rodzaj kontroli logowania, nawet osoba trzecia może oferować różne funkcje. Kontrolka logowania ASP.NET, o której wspomniałem, wydaje się być dostępna z poziomu kodu źródłowego i prawdopodobnie nie będziesz mieć tego samego problemu z niedostępnym polem nazwy użytkownika dla zastąpienia nazwy użytkownika pełnym imieniem, chyba że nie rozumiem poprawnie tego pytania. –

Powiązane problemy