SqlDataSourceを使用して、データベースからgridviewにデータを取得しました。SqlDataSourceコーディングを隠すには?
セキュリティ上の理由から、私はこのコードを隠すことができます。それは明らかにテーブル名とそのエンティティをすべて示しています。私はこの機能を直接の自動編集と削除機能を備えたグリッドビューでのデータの管理がより簡単にしたいと考えていますが、プレゼンテーション層ではコーディングでデータベースの内容を明らかにしないと仮定しています。とにかくありますか?
SqlDataSourceを使用して、データベースからgridviewにデータを取得しました。SqlDataSourceコーディングを隠すには?
セキュリティ上の理由から、私はこのコードを隠すことができます。それは明らかにテーブル名とそのエンティティをすべて示しています。私はこの機能を直接の自動編集と削除機能を備えたグリッドビューでのデータの管理がより簡単にしたいと考えていますが、プレゼンテーション層ではコーディングでデータベースの内容を明らかにしないと仮定しています。とにかくありますか?
あなたのコード例がHTMLに存在し、一般に閲覧可能な印象を受けていますか? そうではありません。SQLDataSource
がコンパイルされ、ページがクライアントに提供される前にさまざまなHTML要素に挿入されるデータが生成されます。
http://msdn.microsoft.com/en-us/library/ms178472.aspx#lifecycle_events
.csファイルでこれらのプロパティを設定することができます。しかし、それはあなたのために十分な深さではないかもしれません。つまり、まだプレゼンテーション層ですか?
誰も非表示にしますか?これらのコントロールは、サーバーが誤って構成されていて実際にASP.NETコードを処理していない限り、クライアントにはレンダリングされません。 – David
"プレゼンテーション層はコーディングでデータベースの内容を明らかにしないと仮定します" - このモノリシックなアーキテクチャではプレゼンテーション層はありません。別のレイヤーを配置する場合は、データベース固有のものをプレゼンテーションレイヤーから外しておく必要があります。 – Joe
たとえば、間違いが起こり、コードはデータベースから特定のエンティティを見つけることができません。後で、このテーブルからのこのエンティティが見つからない、クライアント側に現れていることを明示的に示すaspxのエラーメッセージが出ます。 – Memoc