-2

私は、クライアント サポートに 2 つの異なる可能性がある Web サイトに取り組んでいます。どちらの場合も、必要なフィールドのいくつかを含む小さなフォームを送信する必要があります。

名前、電子メール、その他の必要なプロパティを含む非常に基本的なモデルを使用してそれらの1つを実装しました。ユーザーは自分のデータを入力し、すべてのフィールドが有効な場合、彼を祝福する画面にリダイレクトされますフォームの送信が成功したとき。

2 番目のものは、含まれていない 1 つのフィールドを除いて、最初のものとほぼ同じクライアントからの入力を必要とします。

半分同じプロパティを持つ 2 つの異なるモデルを作成するのは無駄に思えるので、どちらもすべてのプロパティを使用するわけではありませんが、両方のビューに同じモデルを使用することをお勧めします。

4

2 に答える 2

5

モデルに継承を使用します。

たとえば、入力 1 にはプロパティとAが必要です。入力 2 には、およびが必要です。BCBCD

2 つのクラスを作成します。

 public abstract class MyThingyBase
 {
      public int B { get; set; }
      public int C { get; set; }
 }

 public class Input1 : MyThingyBase 
 {
      public int A { get; set; }
 }

 public class Input2 : MyThingyBase 
 {
      public int D { get; set; }
 }

このようにして、両方のクラスに必要なすべてのプロパティがあり、コードが重複することはありません。クラスで動作するものに配置することで、Bとの処理コードを共有することもできます。CMyThingyBase

于 2013-07-25T12:39:55.753 に答える
2

それを行うこともできますが、最善の方法は、両方のフォームが送信するすべてのプロパティを含む 1 つのモデルを作成し、最初のモデルを拡張してより具体的な 2 番目のモデルを作成することです。

于 2013-07-25T12:38:39.483 に答える