0

我已经登录,我的大多数用户都输入以下类型的用户名“mydomain\Y98765”以进入我们的网站。我最近升级了我们的网站,不再需要他们在用户名中输入“mydomain”。我知道我需要使用 replace 命令将“mydomain\”替换为“”,但是,我的服务器不断因我的尝试而崩溃。这是在用户未在 mydomain 中键入时有效的代码。

UserManager Usermanager = new UserManager();

UserData userdata = Usermanager.Login(UserName.Text, Password.Text, "DC=my,DC=domain,DC=co,DC=uk");

这是我尝试过的,但会使服务器崩溃。有人可以帮忙吗

string username = UserName.Replace("mydomain\\","");
UserData userdata = Usermanager.Login(username, Password.Text, "DC=my,DC=domain,DC=co,DC=uk");
4

2 回答 2

1

您的替换代码不起作用的原因是您实际上并未使用 Username 控件的文本。您正在尝试在控件本身上调用 replace ,这没有任何效果。要更正此问题,您必须将代码更改为:

string username = UserName.Text.Replace(@"mydomain\","");

检查字符串是否包含“mydomain\”是不必要的。如果字符串不包含“mydomain\”,则替换不会对字符串执行任何操作,并且无论哪种方式都不会真正提高效率。

于 2012-08-15T15:03:01.490 回答
0

要解决您的第二个问题,请尝试:

string username = (UserName.Text.Contains("mydomain\\")) ? UserName.Text.Replace("mydomain\\","") : UserName.Text;
UserData userdata = Usermanager.Login(username, Password.Text, "DC=my,DC=domain,DC=co,DC=uk");
于 2012-08-15T15:00:18.117 回答