2010-10-09 35 views
5

Điều khiển LoginName hiển thị Tên người dùng. Tôi muốn hiển thị Họ tên của người dùng đã đăng nhập thay vì Tên người dùng. Dưới đây là mã của tôi. Tôi dường như không thể truy cập vào điều khiển LoginName ở mã phía sau. Tôi tự hỏi nếu nó bởi vì kiểm soát là trong.Hiển thị Họ tên thay vì Tên người dùng trong LoginName Điều khiển

ASPX Page:

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

Xin vui lòng gửi mã sau ví dụ trong C# nếu có thể ...

Trả lời

12

tôi đã có thể tìm ra một cắt ngắn:

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

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

này tìm sự kiểm soát LOGINNAME trong LoginView, sau đó hijacks giá trị bằng cách thiết lập FormatString. Tôi ước có một cách làm thanh lịch hơn. Nếu có ai biết, xin vui lòng gửi nó theo cách của tôi.

0

Các LoginView kiểm soát có vẻ hơi tự động trong hành vi của nó. Bạn có thể muốn chuyển sang sử dụng điều gì đó khác và có một loại kiểm soát khác đối với trải nghiệm ...

Thay vào đó, bạn có thể thử thay thế Login control để xem tính linh hoạt bạn có yêu cầu hay không. Ví dụ của nó. UserName property là cả đọc/ghi.

Login1.UserName = "MY REAL NAME"; 

Dường như nó cũng hỗ trợ nhiều tính năng thông qua cú pháp khai báo.

<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

Tôi đang sử dụng điều khiển LoginView với điều khiển LoginName được nhúng. Vấn đề là điều khiển này chỉ hiển thị Tên người dùng và không phải là tên đầy đủ hoặc tên thân thiện của người dùng. –

+0

Tôi khá chắc chắn rằng điều khiển Đăng nhập là để xác thực (đầu vào) và không hiển thị. Đặt thuộc tính Tên người dùng đặt giá trị mà bạn muốn gửi tới máy chủ để xác thực. Đúng nếu tôi đã sai lầm. –

+0

Thật công bằng. Bạn có thể thử một loại kiểm soát đăng nhập khác, ngay cả đối tác bên thứ ba cũng có thể cung cấp một số tính năng khác nhau. Kiểm soát đăng nhập ASP.NET mà tôi đề cập có thể truy cập từ mã phía sau và có khả năng bạn sẽ không gặp vấn đề về trường tên người dùng không thể truy cập để thay thế tên người dùng bằng tên đầy đủ, trừ khi tôi không hiểu câu hỏi đúng cách. –

Các vấn đề liên quan