ご意見ありがとうございます。この質問は、ASP.NET 4.0 Web アプリケーションに関するものです。
その後、DetailsView は CRUD 操作に ObjectDataSource を使用します (ただし、どのソリューションも ASP.NET DataSource コントロールのいずれかに適用する必要があります)。
ユーザーはすべてのレコードの詳細を表示する権限を持っていますが、自分の部門に関連する単一のレコードのみを作成または変更できます。
明らかに、リストビューを簡単に変更して、適切なボタンを表示/削除できます
if (!_canModifySelectedWard)
{
dptDetailView.AutoGenerateEditButton = false;
dptDetailView.AutoGenerateInsertButton = false;
dptDetailView.AutoGenerateDeleteButton = false;
}
ただし、これはボタンを削除するだけです。機能を編集/挿入/削除する機能を無効にするきちんとした方法はありますか? ユーザーがこのページにアクセスできるようになると、悪意のあるリクエストが行われる可能性は非常に低いと思いますが、UI 要素だけでなく、機能を削除することをお勧めします。
関連する objectdatasource の InsertMethod などを null に設定できますが、これはほとんどハックのようです。