0

私はログインを取得しました。私のユーザーのほとんどは、次のタイプのユーザー名「mydomain\Y98765」を入力して、私たちの Web サイトにアクセスしています。最近、Web サイトをアップグレードしたので、ユーザー名に「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

置換コードが機能しない理由は、ユーザー名コントロールのテキストを実際に使用していないためです。コントロール自体でreplaceを呼び出そうとしていますが、これは効果がありません。これを修正するには、コードを次のように変更する必要があります。

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

文字列に「mydomain\」が含まれているかどうかのチェックは不要です。文字列に「mydomain」が含まれていない場合、Replaceは文字列に対して何も実行せず、どちらの方法でも実際には効率が向上しません。

于 2012-08-15T15:03:01.490 に答える
0

2 番目のディスクの問題を解決するには、次の方法を試してください。

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 に答える