0

私はこの Web サイトを構築する際のデザイン面で苦労しています。これは私の最初の Web サイトであり、このプロジェクトに必要な正しい方向性がわかりません。以前にこれに投稿しましたが、うまくいきませんでした。それを説明しています。ということで、これからやってみます。

このサイトは、従業員からの「イノベーションのアイデア」を提出するために使用されます。既存の MS Access データベースに接続する必要があります。このデータベースには、通信する必要がある 2 つのテーブルがあります。

最初のものは、これに似た InnovationSubmission テーブルです:-

    ID(自動生成)、
    簡単な説明、
    長い説明、
    名前、
    電子メールアドレス、
    Date(From Date.Time.Now()) - 提出時。
    チームの名前
    エリア(事業エリア)

ユーザーは Web フォーム (ビュー) を使用して上記の詳細を入力すると、検証が行われ、バックエンド データベースに保存されます。私はこれをファッションで機能させています。この問題は、以下の別のテーブルに基づいて 2 つの DropDownlistsFor コントロールを導入しようとしたときに始まりました:-

    エリア A - チーム 1、チーム 3、チーム 5、チーム 7
    エリア B - チーム 2、チーム 4、チーム 6、チーム 8

これは単なるサンプル データです。テーブルには 2 つの異なる領域しかありませんが、50 以上のチームがそれらに分割されます。Area DropDownlist の値に Teams dropdownList フィルターを適用したいと考えています。

モデル フォルダに、データベース内のテーブルを複製する InnovationSubmission クラスを作成しました。このクラスは、送信フォームを表すビューで厳密に型指定されたデータ型として使用されます。その方法は、ユーザー入力を検証し、このクラスを ac# メソッドに渡し、ADO.NET を使用してデータを送り返します。

ドロップダウンリストを実装する方法に苦労しています。

チーム/エリア テーブルを表すために、InnovationSubmission クラスと同様のクラスを作成する必要がありますか? 現在の表は、このプロジェクトに最適な方法で構成されていますか? 1 つのテーブルから両方のドロップダウン リストを設定できますか? チームとエリアの列を関連付けるにはどうすればよいですか?

どんな助けでも大歓迎です!?!

これは私のView Modelを設計する正しい方法でしょうか:-

public class MyViewModel
    {
        public int ID { get; set; }
        public string shortDesc { get; set; }
        public string longDesc { get; set; }
        public string Status { get; set; }
        public string originator { get; set; }
        public string originatorEmail { get; set; }
        public IEnumerable<Area> area { get; set; }
        public IEnumerable<Team> team { get; set; }
    }

    public class Team
    {
        public string teamName { get; set; }
    }

    public class Area
    {
        public string area { get; set; }
    }
4

1 に答える 1

1

最初の選択に基づいて2番目の値が更新されるカスケードドロップダウンリストについて話しているようです。この投稿では、これを実現する方法の例を示しました。アイデアは.change、最初のドロップダウン リストのイベントをサブスクライブし、選択した値を渡すコントローラー アクションへの AJAX 要求をトリガーして、データベースにクエリを実行し、可能なオプションのリストを返すというものです。

于 2012-07-04T08:16:53.110 に答える