何千ものユーザーがスクリプトによって作成されたコミュニティ サーバー フォーラムを修正するように依頼されました。彼らのプロフィール ページはすべて、処方薬などの SEO スパムです。フォーラムは、新しく登録されたユーザーに対してメール認証や管理者の承認を使用していませんでした。今のところ後者をオンにしましたが、キャプチャがいいでしょう。
私の問題は、これらのアカウントを一括削除するのが非常に面倒なことです。.net グリッド (実際には Telerik Radgrid) をセットアップして、ユーザーをまとめて選択し、[削除] をクリックできるようにしました。ただし、次のコードは機能していないようです (VB nubbery に注意してください)。
Protected Sub rgUsers_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles rgUsers.NeedDataSource
rgUsers.DataSource = Users.GetUsers().Users()
End Sub
Protected Sub btnDelete_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnDelete.Click
For Each item As GridDataItem In rgUsers.SelectedItems
Dim selectedUserID As Integer = item.OwnerTableView.DataKeyValues(item.ItemIndex)("UserID")
Dim userToDelete As CommunityServer.Components.User = Users.GetUser(selectedUserID, False) ' User is definitely populated. '
Dim username As String = userToDelete.Username
Dim deleteStatus As DeleteUserStatus = Users.DeleteUser(User)
Trace.Write(String.Format("Delete result for user {0}: {1}", username, deleteStatus.ToString)) ' Returns enum value 3 (Success.) '
Next
rgUsers.Rebind()
End Sub
UserDeleteStatus の結果は「成功」を返しますが、ユーザーは実際には削除されません。正しい削除機能を使用していますか? これは一種の時間に敏感なため、どんな助けも大歓迎です(クライアントは陰茎拡大薬の市場にいません. )