用户名中的转义符

本文关键字:转义 用户 | 更新日期: 2023-09-27 17:58:57

我有一个用户名示例:

corp''myusername

所以如果我把它放在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 :)

使用逐字逐句的字符串文字。

http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx

在文字前面加上"@"字符,然后就可以键入了。

我想您正试图将域与用户名分离,以便在站点中使用Windows身份验证时获得应用程序的用户名,是吗?我还遇到了这样的问题,有些机器会以大写返回值,有些则以小写返回值,所以要小心在源代码(或数据库)中强制使用大小写!

    string windowsLogin = HttpContext.Current.User.Identity.Name;
    int hasDomain = windowsLogin.IndexOf(@"'");
    if (hasDomain > 0)
    {
        windowsLogin = windowsLogin.Remove(0, hasDomain + 1);
    }
    return windowsLogin.ToLower();