我有一个示例用户名:
公司\我的用户名
因此,如果我把它放在 C# 中,它想用 "\" 来逃避它,所以结果是:
corp\\myusername 但我需要是 corp\\myusername。任何想法如何让它工作?
非常感谢
使用verbatim string
string username = @"corp\\myusername"
或者
"\\"
=\
所以"\\\\"
=\\
string username = "corp\\\\myusername"
尝试在字符串前面添加一个“@”符号,如下所示:
String.Format(@"corp\myusername")
or double up the "\" to escape the escape :)
我想您正在尝试将域与用户名分开,以便在您的站点中使用 Windows 身份验证时获取应用程序的用户名,是吗?我还遇到了一些机器会以大写形式返回值,而有些机器会以小写形式返回值的问题,因此请小心在源代码(或数据库)中强制大小写!
string windowsLogin = HttpContext.Current.User.Identity.Name;
int hasDomain = windowsLogin.IndexOf(@"\");
if (hasDomain > 0)
{
windowsLogin = windowsLogin.Remove(0, hasDomain + 1);
}
return windowsLogin.ToLower();