2010-10-09 16 views
5

Il controllo LoginName visualizza il nome utente. Vorrei mostrare il nome completo dell'utente che ha effettuato l'accesso anziché il nome utente. Di seguito è il mio codice. Non riesco ad accedere al controllo LoginName nel codice sottostante. Mi chiedo se è perché il controllo è inVisualizza nome completo invece di Nome utente in LoginName Controllo

ASPX Pagina:

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

si prega di inviare codice dietro esempi in C#, se possibile ...

risposta

12

ho potuto capire una scorciatoia:

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

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

Ciò trova il controllo LoginName nel LoginView, poi dirotta il valore impostando FormatString. Vorrei che ci fosse un modo più elegante per farlo. Se qualcuno lo sa, per favore mandalo a modo mio.

0

Il LoginView di controllo sembra un po 'automatica nel suo comportamento. Potresti voler usare qualcosa di diverso e prendere un diverso tipo di controllo sull'esperienza ...

Puoi provare lo Login control invece, per vedere se ti consente la flessibilità richiesta. Ad esempio il suo. UserName property è sia in lettura/scrittura.

Login1.UserName = "MY REAL NAME"; 

Apparentemente supporta molte funzioni anche tramite la sintassi dichiarativa.

<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

Sto utilizzando il controllo LoginView con un controllo LoginName incorporato. Il problema è che questo controllo mostra solo un nome utente e non un nome completo descrittivo o il nome dell'utente. –

+0

Sono abbastanza sicuro che il controllo Login sia per l'autenticazione (input) e non per la visualizzazione. L'impostazione della proprietà Username imposta il valore per il quale si desidera inviare al server per l'autenticazione. Correggimi se sbaglio –

+0

È giusto. Potresti provare un diverso tipo di controllo dell'accesso, anche uno di terze parti potrebbe fornire alcune funzionalità diverse. Il controllo di accesso di ASP.NET che ho menzionato sembra accessibile dal code-behind e probabilmente non avrai lo stesso problema del campo del nome utente inaccessibile per la sostituzione del nome utente con un nome completo, a meno che non comprenda correttamente la domanda. –