2017-03-08 41 views
1

这是我Default.aspx文件没有域名Dsiplay登录名称(无Java脚本)

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default2" %> 

    <!DOCTYPE html> 

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
    <title></title> 
    </head> 
    <body> 
    <form id="form1" runat="server"> 
    <div> 
    Welcome to sample website:) 
    </div> 
    <p> 
     &nbsp;</p> 
    <p> 

     <asp:LoginName id="LoginName1" runat="server" FormatString="Welcome,{0}" /> 

    </p> 
    <p> 
     &nbsp;</p> 
</form> 
</body> 
</html> 

我能够显示doaminname \用户名,但我需要只显示用户名。我很困惑,我如何继续这个。可以帮助我吗?

+0

尝试<显示LoggedInTemplate>的 [source](https://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols。 loginview.aspx#Y0) – Jordy19

+0

没有没有工作! –

+0

你读过我链接的源代码吗? – Jordy19

回答

0

添加下面的代码在你的Page_Load

WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent(); 
if (windowsIdentity == null) 
    throw new InvalidOperationException("WindowsIdentity is null"); 
string nameWithoutDomain = windowsIdentity.Name.Split('\\').Last(); 

LoginName1.Text = String.Format("Welcome,{0}", nameWithoutDomain) 

如果你想有一个辅助类,你可以参考这个Built-in helper to parse User.Identity.Name into Domain\Username

+0

我必须在.cs文件中更新它吗? –

+0

没有这个必须在你的初始页面asp c#代码 – Sailor

+0

它说LoginName1在当前上下文中不存在! –