1

コンボボックスの値 (アプリケーションの静的ルックアップ値 (文字列など)) をデータベースに格納することと、html ページ自体に直接格納することをサポートする一般的な引数は何ですか?

4

6 に答える 6

4

その理由は、データを UI から分離するためです。

データを 1 つの場所に配置する目的は、サイトの変更、修正、および更新を容易にすることです。10 個のフォームがあり、それぞれに状態ドロップダウンが必要な場合、後で状態を追加するには、10 ページのテキストを変更する必要があります。

ドロップダウンが 1 つだけでも、分離することでメンテナンスが容易になります。

于 2010-02-22T19:16:19.760 に答える
3

データベースにこれらの値を保持するということは、ページ上の値が常にデータベースにあるべきものと同期している、またはデータベースに挿入するためにどの値を選択できるかということです。

選択できる色のリストがあるとします。HTML ページで、ユーザーが「赤」、「緑」、「青」、および「黄」を選択できるようにします。データベースはこれを反映しています。

数週間後、紫の機能も追加しました。したがって、ユーザーが HTML ページで「紫」を選択できるようにしますが、データベースについては忘れてください。一部のユーザーが 'purple' を選択し、その選択内容をデータベースに挿入しようとしましたが、'purple' は現在データベースで有効な値ではないため、外部キー制約エラーが発生します!

数週間後、「黄色」の機能が削除されました。今回は、データベースから黄色を削除することを忘れないでください。ただし、HTML ページについては忘れてください。したがって、ユーザーが「黄色」を選択すると、その選択内容をデータベースに挿入しようとしますが、同じ外部キー制約エラーが発生します!

さらに 1 週​​間後、「ピンク」の機能を追加します。今回は、それをデータベースに追加することを忘れないでください。ただし、HTML ページについては忘れてください。現在、UI が更新されていないため、ユーザーはデータベースが許可するクールな「ピンク」機能を見逃しています!

データベースから可能な値を取得するだけということは、このような場合にデータベースのみを更新する必要があることを意味します。

于 2010-02-22T19:14:26.583 に答える
2

ルックアップ値は時間の経過とともに変化する可能性があるためです。データベースに追加するのは非常に簡単です。コードを正しくコーディングすれば、UI にも表示されます。頻繁にルックアップ値は他の操作でも使用される可能性があるため、UI (特に IIS によって提供された後にのみ「利用可能」になるもの) にスタックすると、それらに到達できなくなります。つまり、非常に悪い習慣です。

リストを 1 つの場所で定義してから、多数の場所で使用することもお勧めです (更新が容易になります)。そのため、データベースはこれに適した場所です。データベースが適切でないか利用できない場合は、アセンブリまたは共有モジュールの 1 つで宣言された列挙などの別のメカニズムを使用できます。

于 2010-02-22T19:16:26.703 に答える
2

リストをデータベースに保存するもう 1 つの理由は、リストが変更される可能性があることです。リスト内の既存の項目の 1 つを変更するか、リスト内の項目を追加または削除することを決定する人がいます。

新しいバージョンの Web ページを再デプロイするよりも、データベース内のデータを変更する方が簡単です。

于 2010-02-22T19:17:18.997 に答える
1

これらの値を複数のページで使用する場合、これらの値のいずれかが変更されたり、値が追加または削除されたりすると、リストを維持するのが難しくなります。

于 2010-02-22T19:15:30.650 に答える
1
  • データとプレゼンテーションの分離。データを複数の方法で表示できます
  • データを 1 か所だけに保存​​すると、データを最新の状態に保ちやすくなります。
  • より簡単なローカリゼーション。
  • データベースにメタデータを追加すると、より簡単なフィルタリング
于 2010-02-22T19:18:05.793 に答える