1

ご意見ありがとうございます。この質問は、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 に設定できますが、これはほとんどハックのようです。

4

1 に答える 1

1

オブジェクト データ ソースは、オブジェクト データ ソースによって要求されたデータの提供を担当するクラスに関連付けられています。これは、データへの不正アクセスが発生しないようにするために、追加のチェックを実行する必要がある場所です。ボタンを非表示にすることは、ユーザー エクスペリエンスの観点からは良い考えですが、ビジネス ルールが適用されていることを常に確認する必要があります。

申し訳ありませんが、これ以上詳細なヘルプを提供することはできません。おそらく、何が起こっているのかをより詳細に説明したり、役立つコードを投稿したりできれば.

乾杯。

于 2012-10-18T21:50:11.300 に答える