1
  • 「ClassType」と「Disciplines」の 2 種類のデータを扱っています。ClassType は、セカンダリ Disciplines を駆動するマスター データ タイプです。これは、各 ClassType に多数の分野が割り当てられるという考え方です。だから、私がやろうとしているのは、CLassType の選択に依存する分野を持たせることです。ビューで Microsoft MVC 3 フレームワークを使用してそれを行うにはどうすればよいですか? 以下は私のコントローラー/モデル/ビューコードです:

    CONTROLLER:
    

    public ActionResult Create() { リスト c_types = 新しいリスト(); リスト ディスク = 新しいリスト();

        c_types = m_activeContract.getCtypeList();
        disc = m_activeContract.getDisciplineList();
        // TODO:  fetch from repository or database
    
        var model = new ExampleDocument
        {
            ClassTypes = a_modes,
            Disciplines = disc
        };
    
        return View(model);
    } 
    
    
    MODEL:
    
    public int ClassTypeId { get; set; }
    public int DisciplineId { get; set; }
    public List<ClassType> ClassTypes { get; set; }
    public List<Discipline> Disciplines { get; set; }
    
    VIEW:
    
    @using (Html.BeginForm("Create", "Example") ) {
            <p>Class Type: 
            @Html.DropDownListFor( x => x.ClassTypeId,
                     new SelectList(Model.ClassTypes, "Id", "Name"))</p>
            <p>Discipline:
            @Html.DropDownListFor( x => x.DisciplineId,
                    new SelectList(Model.Disciplines, "Id", "Name")) </p>
            <p>
                <input type="submit" value="Create" />
            </p>
    }
    
4

2 に答える 2

1
  1. コントローラーで、ビジネス ルールを使用して ClassTypeId に基づいて Discipline Type エンティティのリストを設定します。

  2. また、渡されたクラス タイプ ID の Discipline Type エンティティの json 結果を取得するコントローラー アクションを追加します。

  3. ビューで、クラス タイプ フィールドの変更時に JavaScript イベントを追加します。そのイベントでは、クラス ID に基づいて分野タイプのリストを返すコントローラー アクションへの ajax コールバックを使用し、それを使用して分野タイプ ドロップダウンに入力します。このようにして、ユーザーが別のクラス タイプを選択すると、DisciplinesTypes のリストが変更されます。

于 2012-05-15T14:08:58.020 に答える
0

ClassType は二次分野を駆動します

ClassTypeのドロップダウンでjavascriptでajax呼び出しを行い、Disciplineにデータを入力する必要があると思います

于 2012-05-15T14:01:56.127 に答える